Node.js 로 데스크탑 앱을 만드는 app.js

node.js 에서 드디어 UI도 정복하는 건가? 커뮤니티에서 이미 데스크탑 UI까지 이식하려 한다.

UI 프레임워크는 다른 것도 봤듯이 API가 드럽게 방대해서 일반적인 데스크탭 앱 프레임워크를 만들기엔 당연히 무리.

하지만 그런 UI 구조에 구세주를 내려주셨으니 그것은 바로 Chrome Embedded Framework

바로 프로그램 안에 HTML5를 이식할 수 있는 프레임워크이다. 거기다가 크로스 플랫폼이다.

app.js 는 바로 이 크롬 임베디드로 UI 프레임워크의 방대함을 간단하게 극복했다.

만약 Qt나 WxWidget 를 자바스크립트로 이식한다 해도 그 API를 알아야 하지만, HTML은 그럴 필요가 없기 때문이다.

Morteza Milani 와 Brandon Benvie 2명이서 만든 이 node.js 프레임워크는 단 몇분만에 UI를 입힌 데스크탑 앱을 만들 수 있도록 도와준다.

준비물 : node.js 32비트 (64비트의 경우 크롬 엔진이 지원하지 않아 안된다 한다. 현재 수정 중).

NPM:

npm install appjs

NPM 설치 시 윈도우의 경우 Visual Studio 2010 컴파일러가 없는 경우 네이티브 코드 컴파일이 안될 것이다. 다행히도 각각의 바이너리를 제공하니 다운받으면 된다.

AppJS 0.0.19 Distributables:

      <ul><li><a href="http://dists.appjs.org/0.0.19/appjs-0.0.19-win32-ia32.zip">Windows</a></li><li>Linux <a href="http://dists.appjs.org/0.0.19/appjs-0.0.19-linux-ia32.tar.gz">32 bit</a> / <a href="http://dists.appjs.org/0.0.19/appjs-0.0.19-linux-x64.tar.gz">64 bit</a></li><li><a href="http://dists.appjs.org/0.0.19/appjs-0.0.19-darwin-ia32.zip">Mac OS X</a></li></ul><p>그런 다음 <span style="font-family: Courier New;">node --harmony node_modules/appjs/examples/hello_world/app.js</span> 실행을 해 보시라.

화면이 대충 이런 식으로 나올 것이다.

아래는 본인이 직접 앱을 시연하는 동영상이다.

크롬 개발자 도구도 지원하기 때문에 UI 디버깅도 척척 해낼 수 있다.

그럼 이거를 어디다 쓰면 좋을까? 좋은 질문이다.

활용 범위는 다양하다. 일단 HTML5 이므로 여러분이 원하는 최대한의 표현을 할 수 있다. 차트던 그래픽이던 모두.

서버 모니터링할때 이쁘게 꾸밀 수 있지 않겠는가?

아니면 아예 클라이언트 데스크탑 앱으로 해도 손색이 없다. 커뮤니티 전용 앱이라던가, 웹 게임 등. 다양한 활용 범위가 있을 것이다.

또한 안정화가 되면 비즈니스에서 보안을 요구하는 사내 프로그램에 대한 생산성 향상을 꾀할 수 있다.

또한 HTML5/CSS/Javascript 정도 알면 당신은 이미 100% 데스크탑 앱을 만들 수 있다.

또한 node.js 자스 코드를 그대로 웹상에서 활용 가능하다. 말 다했다.

아직 취약점이 있고 개선해야 할 부분은 천지다. 하지만 이 가능성은 이미 충분하고도 남는다.

이제 자바스크립트로도 데스크탑 앱을 만들 수 있다. 준비 되었으면, 참여하고 경험하라!

composite / 2012년 9월 19일 / 1127 / 1 Comment