작년 한해는 JavaScript가 재평가 받고 더 발전하는 한해아니였나 생각해봅니다.  

국내의 변화
국내에서도 자바스크립트에 대한 인식의 변화가 가장 컸던 한 해가 아니였나 생각해봅니다. 
수 많은 웹 서비스에 다양한 오픈 소스들을 이용한 성숙한 UI와 UX를 제공하기 위한 노력들이 매우 많아졌습니다. 


JavaScript 프레임워크의 발전
그리고 국내 JavaScript 라이브러리도 NHN의 Jindo 에 이어 NHN의 nagoon97 님이 개발하여 대표적으로 Naver 스마트 에디터에   적용 개발되어진 Husky 프레임워크 그리고 김영보 선생님께서 개발중인 One Object 아키텍쳐를 근간으로 하여 메소드 체이닝 메커니즘을 특징으로 하는 MethodChain까지 국내에서도 고급 자바스크립트 기술을 위한 오픈 소스들이 발표되고 있습니다.

또한 메이저 라이브러리의 기술을 점점 더 발전해 가고 있을 뿐아니라 그 영역을 모바일까지 확장해 가고 있습니다.  또한 데스크탑 애플리케이션에서 경험할 수 있었던 것과 동일한 경험을 할 수 있도록 성숙한 UI 프레임워크로 발전해 가고 있습니다.



ECMAScript 의 변화 그리고 JavaScript 2.0
또한 이런 변화는 ECMAScript 5를 좀더 빨리 발전시키는 촉진제 역할을 하였고 올 9월에 표준안이 발표  되면서 브라우저 밴더 및 산업 전반에 걸쳐 JavaScript를 적용되어가고 있고 최근 ECMA Script 262 5th 이 지난 12월 15일 ECMA International에서 논의되고 최종 승인 발표를 하였습니다. 

이 ECMAScript 5는 JavaScript의 일반적인 명칭인 JavaScript 1.5 ~ 1.7와 같이 JavaScript 2.0이라고 칭하게 될 것 입니다.  사실 초기 ECMAScript 4의 기대와는 다르게 5th 에서는 설계상의 큰 변화는 없었습니다. 그중 가장 눈에 띈 것은 Native JSON 지원이라는 점입니다.  

현재까지(브라우저 밴더들이 적용하기 전)도 JavaScript JSON 형식의 데이터를 처리할 수 있습니다.  그러나 JSON은 데이터를 사용하여 검색하는 기능 때문에 잘못된 명령이 데이터에 있는 경우 보안 문제를 일으키는 원인이 될 우려가 있었습니다.   

JavaScript 2.0 JSON 지원은 JSON 데이터를 실행하고 평가하는 것을 지원하기 때문에 보안에 대한 걱정이 없어집니다.


속도경쟁
또한 올 한해 각 브라우저 밴더들의 속도 경쟁도 상당했습니다.  JavaScript에서 일어나고 있는 가장 큰 변화는 JavaScript 2.0의 변화보다 Web 브라우저에서 전개되고 있는 속도 경쟁일 것입니다.

올 Chrome는 V8라는 JavaScript 엔진을 탑재하면서 엔진의 속도를 설명하기 위해 다양한 실험에 대한 증명을 Chrome Expoeriments  를 통해 해주고 있습니다.  그외 Firefox의 경우 3.5에서 새로운 TraceMonkey 엔진을 탑재, Safari에 기반에 Webkit에서는 SquirrelFish JavaScript 엔진을 개발하고 있습니다.  Opera의 경우에도 Carakan 을 속도 경쟁하고 있습니다.



JavaScript 의 영역의 확대

출처 http://en.fotolia.com/id/11626485

자바스크립트의 영역은 인터넷이 생기고 웹 이라는 것은 HTML을 이용하여 문서(Document)를 표현하고 링크를 통해 또 다른 문서로 이동하거나 간단한 폼 전송을 통한 서버와 클라이언트의 커뮤니케이션을 가지고 있었습니다.  여기에서 JavaScript의 영역은 극히 제한적이였습니다.  아니 제한적일 수 밖에 없었습니다.

하지만 점차적으로 발전하면서 현재에 이르러는 인터넷의 문서에 제한되지 않고 애플리케이션을 위한 플랫폼으로 발전해 나가고 있습니다.  이에 자바스크립트는 DOM 제어와 AJAX를 활용한 가벼운 인터넷 애플리케이션 개발 언어로 새롭게 해석됩니다.  
뿐만 아니라 JavaScript 프레임워크의 발전은 성숙한 UI를 지진 Ext JS나 YUI와 같은 RIA 개발을 위한 도구로도 사용되는데 손색이 없을 정도입니다.  Ext JS의 경우에는 이미 국외에서는 Ext JS를 사용한 솔루션이 조금씩 개발되어 판매에 이르렀습니다.

하지만 그 영역은 Web2.0의 시대와 함께 찾아온 개방과 함께 Open API가 방대해졌고 그것을 이용한 기본적인 API들이 JavaScript로 개발되어졌습니다.  이를 통해 다양한 Mash-Up 애플리케이션이 개발되어졌고 이렇게 발전해온 JavaScript의 영역은 올 한 해에도 그 영역을 Server Side 개발을 위한 Jaxer, 모바일 영역, 데스크탑 애플리케이션 개발을 위한 도구로 관심의 영역을 넓혀갔습니다.

이에 도움을 준 요소들 또한 많습니다.  일단 가장 큰 이유중의 하나는 웹 표준의 발전일 것이고브라우저 밴더들의 속도 경쟁, 다양한 오픈 소스 프레임워크의 발표, 개발도구의 진화 또한 보탬을 하였습니다.

최근 iPhone의 발표로 국내에서도 엄청난 열기를 더해가고 있는데 Web2.0 Expo의 론치패드에서 극찬을 받은 PhoneGap 이라는 솔루션은 HTML, JavaScript, CSS 를 이용하여 iPhone 뿐만 아니라 Android, Blackberry 등 크로스 플랫폼 모바일 애플리케이션을 개발할 수 있는 플랫폼을 제공한다는 것입니다.  


JavaScript의 영역과 변화 요소



  
JavaScript 의 미래
이처럼 지난 한해는 언어로서 성장하고 JavaScript가 웹 브라우저에서만 사용할 수 있었던 것이 그 영역이 브라우저 밖으로도 유용하게 활용 될 수 있도록 되었다는 것입니다.

또한 2010년에는 Chrome OS와 같은 넷북을 기반으로 할 운영체제, 다가오는 모바일 웹 애플리케이션 시대에는 웹 표준과 함께 JavaScript의 지배력이 좀더 높아질 것입니다.
http://www.youtube.com/watch?v=AusOPz8Ww80
http://www.readwriteweb.com/archives/web_vs_native_mobile_apps.php

 

출처 http://almaer.com/blog/the-development-circle-of-life



신고
Posted by Rhio.kim