Internet Explorer 는 대충 다 아실 것 같습니다. IE10 이 아직 Windows 7 에서 release 되지는 않았지만 1달 안에 release 될 것으로 봅니다. 3월 중순까지 나오겠죠. Release Preview 보다는 좀 나아지겠지만 어쨌든 호환성이 조금이라도 무너지는게 있을 겁니다. 어쨌든 ActiveX 와 같은 browser 추가 기능이 계속해서 범용적으로 활용될 자리가 사라지고 있는 것은 분명합니다.


Chrome 은 계속해서 변화하고 있지만 사용자에게 큰 변화의 느낌을 주지는 못하고 있는 것 같습니다. 저는 그동안 JavaScript 성능의 엄청난 개선을 보면서 놀랬었지만 이제는 그것도 한계가 온 것 같네요. 이것도 제가 programmer 이기 때문에 관심이 갔었던 것이고, 보다 보편적인 사용자들은 체감을 못하고 있을 겁니다. 하여간 지금 Chrome 에 탑재된 V8 JavaScript engine 은 single thread 에서 가장 빠른 script 언어일 겁니다. JavaScript 는 multithread 가 없기 때문에 그것은 논의할 수가 없죠.

하지만 체감을 하든 못하든 Chrome 은 계속해서 발전하고 있습니다. 여러가지가 있겠지만 가장 큰 두가지 흐름을 말하자면 첫번째는 Chrome OS 이고, 두번째는 JavaScript 를 대체하는 Dart 일겁니다. Dart 는 나중에 이야기하기로 하고, OS 에 대해서 말하자면... 우리가 체감하고 있지 못하는 사이에 web 은 http 에서 https 로 계속해서 전환되고 있습니다. 이제 기업은 내부 감사를 위해서 https 를 감시하는 기술을 도입하고 있거나 이미 마쳤죠. 그리고 기반기술인 TCP 역시 조금씩 최적화되고 있고, 전체 network traffic 을 원할히 하는 기술 역시 개선되고 있습니다. 이런 것은 모두 Google 이 주도하고 있고, 사용자는 알아차리기 어렵습니다. 이런 것 말고도 Chrome 은 native code 를 가동시키는 NaCl(Native Client) 도 계속 발전시키고 있습니다. 이런 것은 web browser 가 곧 OS 수준의 platform 이 되고 있음을 보여줍니다. 이것은 모두 Cloud 기술이라는 더 큰 흐름에 속해 있습니다. 다만 DRAM 을 상당히 많이 쓰고 있다는 문제는 있습니다. 이런 모든 변화가 모여서 언젠가 Chrome 이 사용자에게 다시 한번 새로운 것을 보여줄 거라고 기대합니다.


Mozilla Firefox 는 독자생존을 계속 잘 해나가고 있습니다. 한때 인력부족문제가 심각하게 이야기된 적도 있지만 Rapid Release Schedule 을 잘 해나가고 있는 것을 보면 어려움을 잘 극복하고, 그 이상을 해낸 것 같습니다. 사용자 인터랙션을 담당했던 Aza Raskin 도 떠났고, jQuery 를 만든 John Resig 도 떠났지만 Firefox 는 계속 발전했고, 지금은 전체적으로 Chrome 을 능가했다고 봐도 무방할 것 같습니다. Version 18 과 19 에서 큰 수준의 JavaScript 개선을 해냈고, Chrome 의 V8과 비교해도 체감하기 어려운 수준까지 진입한 것 같습니다. 현재 Beta 인 version 20 에서는 Safari 와 유사한 panel based download manager 를 보여주었고, 개발자 도구에서 profiler 및 UI 개선을 선보였습니다.  다만 앞으로의 roadmap 이 모두 없어졌습니다. https://wiki.mozilla.org/Features/Release_Tracking . 아무래도 Firefox 역시 사용자에게 체감할 수 있는 새로운 변화에 대한 전망이 없어진것 같습니다. 예전에 가끔씩 계획하다가 취소했던 Austrailis 를 보여줄 수도 있을지는 모르겠네요. Google Chrome 의 변화를 계속해서 잘 쫓아가고 있기도 합니다. Google 이 공개한 기술들을 모두 구현하고 있고, mobile, OS 분야도 시도를 하고 있습니다. Mobile web browser 는 군웅할거 시대인데 Firefox 는 늦게 출발했지만 여전히 무시할 수 없습니다. OS 는 아직 분명히 말할 수 있는 것은 없네요. 기술적 측면을 이야기해보자면 C++ 위주의 내부를 완전히 개선하고자 하는 움직임이 있습니다. Mozilla 에서 만들고 있는 Rust 는 programming 언어에 관심이 많은 개발자 사이에서 가장 뜨거운 관심을 모으로 있습니다. 이 언어는 기본적으로 Firefox 에서 C++ 로 작성된 것을 개선하고자 만들었습니다. 단시간 내에 이루어질 수 있는 것은 아니지만 상당히 흥미로운 project 가 아닐 수 없습니다. 그 외에 Mozilla 는 기업인 Google 에서는 아무래도 관심이 적을 수 밖에 없는 사생활 보호기술 Do Not Track 같은 기술을 선도하기도 했습니다.


Opera 는 mania 들 사이에서 대단히 관심을 받았지만 계속해서 발전이 늦어졌습니다. 그리고 Opera 는 자사의 rendering engine 인 Presto 를 버리고, WebKit 을 사용하기로 결정했습니다. Opera 가 조금 느린 start up time 과 close time 를 보여주었던 것을 제외하고는 매우 뛰어난 성능과 호환성을 보여주었던 web browser 인데 이런 결정을 했다는 것은 놀라운 일이 아닐 수 없습니다. 어쨌든 현재 대세가 된 WebKit 을 도입하겠다는 것은 선택과 집중을 하겠다는 것이고, 좋은 결과가 있기를 기대합니다.


Safari 는 딱히 할 이야기가 없군요. Safari 6 release 와 더불어 Apple 의 OS 이외에 지원이 사라졌습니다. Mountain Lion 과 Lion 에서 차이를 보여주는 Safari 6 라는 점을 생각해보면 Internet Explorer 와 Windows 처럼 어느정도 OS 와 강결합이 생긴 것이 아닐까 생각해봅니다.



현재 web 의 중심인 programming 언어는 역시 JavaScript 입니다. 그런데 여기에 대한 새로운 방향성이 제시되고 있습니다.

Google 이 제시한 Dart.

Mozilla 가 주도하고 있는 Harmony(ECMA Script 6th Edition).

MS에서 제시한 TypeScript.

Dart 가 가장 빠르게 release 되고 있지만 여전히 Chrome 에는 Dart VM 이 탑재되지는 않았고, Harmony 는 표준이고 Firefox 와 Chrome 에서 구현되고 있습니다. TypeScript 는 가장 늦게 나왔지만 가장 뛰어난 JavaScript 와의 호환성을 강점으로 제시하고 있습니다.

Dart 는 Jython, IronPython 등을 만들었던 Jim Hugunin 이 참여하고 있고, Harmony 는 JavaScript 를 만든 Brenden Eich 가 직접 작업하고 있습니다. TypeScript 는 C# 을 만든 Anders Hejlsberg 가 작업하고 있습니다. 모두 뛰어난 언어 개발자들이죠.

재미있는 점은 가장 뛰어난 JavaScript engine 을 만든 Google 의 Dart 가 가장 JavaScript 와 거리가 있다는 점입니다 Google V8 팀은 JavaScript 를 싫어한다는 이야기가 있기도 하지요. Java 와 가장 가깝고, 보다 전통적인 접근을 하고 있습니다.

누가 승리하든 JavaScript 를 단기간에 대체할 수는 없겠지만 분명 JavaScript 에는 한계가 있고, 새로운 전환점이 있을 거라는 것은 분명할 것으로 보입니다.