common js 스펙이 발표되고 node.js가 활성화되기 시작하면서 신선한 시도들이 많이 눈에 띈다.

꼬꼬마시절 나모웹에디터로 html 짜고 그 안에 javascript로 눈내리는 효과 주고 했던 기억이 문득 떠오른다.

이제는 javascript로 웹 프론트 엔드단도 짜고, 백엔드도 짜고, 데스크탑 어플리케이션도 짜는 모양이다.


몇일전에 본 node webkit 이야기다. 

사실 아직 0.x 버전이라 베타성이 짙어 실무에 쓰이려면 더 숙성되어야 하겠지만 신선한 시도라고 본다.

크로미움을 embed하고 그 위에 html5를 돌리는 방식인데 이런 식으로 웹브라우저를 embed해서 데스크탑 어플리케이션을 만들려는 시도는 좀 된 걸로 알고있다. 아마 에버노트 윈도우 어플리케이션도 그러한 방식으로 만들었다는 것 같다.

그래도 node webket의 의미가 남다른 이유는 기존의 방식에서는 c++같은 네이티브 언어로 바인딩해주는 절차가 꼭 필요했었는데

node webkit은 그러한 바인딩부분을 알아서 해주기 때문에 온리 웹 언어만 사용해서 데스크탑 어플리케이션을 만들 수 있다는 것이 첫째요, 근래 활성화되고 있는 node.js 라이브러리들을 전부 가져갈 수 있단 것이 둘째로 꼽을 수 있겠다.


알고 있는 이도 몇 되겠지만 jdk 안에도 javascript를 해석할 수 있는 인터프리터가 내장되어 있다.

rhino라는 이름으로 jdk1.6부터 기본 탑재되어서 서버 사이드에서 javascript를 돌릴 수 있도록 지원하고 있다.

개인적으로 이 rhino 엔진 이용해서 컴파일 이후 시점에 로직이 유연하게 변경되어야 하는 유틸성 프로그램들에서 활용해서 쓰고 있는데 아주 꿀맛이다.