node.jsはJavaScript製のフリーウェア(一部オープンソースのライブラリが入っている)。クライアントサイドとサーバサイド、両方が同じ言語で書ければどれだけ開発工数が低減されるだろうか。Web系の技術者は常にそこにジレンマを感じることだろう。

ピクチャ 73.png

デモのチャットアプリ

 

方法は二つ、JavaScriptでサーバサイドを実装するか、GWTのようにJavaScriptを覆うかだ。node.jsはJavaScriptでサーバサイドを実装する。特徴的なのはそのエンジンとしてGoogle製のv8エンジンを採用していることだろう。さらにnode.js自体がポートをリッスンし、Webサーバとして動作するのが特徴だ。

独自でWebサーバを用意しているからだろうか、動作は軽快だ。チャットアプリケーションがデモとして用意されているが、レスポンスはとても良い。サーバサイドの実装と合わせて同一言語で開発できるのはとても面白い。シンプルな、例えばSinatraで作るようなレベルであればnode.jsが取って代われるかもしれない。

ピクチャ 74.png

ソースコード

** **

node.js自体はWebサーバに限らずサービスを立ち上げることが出来る。単純なレスポンスだけを行うTCPサーバにもなる。バックエンドの仕組みなどが整えば、かなり面白い使い方ができそうなソフトウェアだ。

執筆時のバージョン

 0.1.18

 

node.js

 http://nodejs.org/