アシアルブログ

アシアルの中の人が技術と想いのたけをつづるブログです

サーバサイドJavaScriptの「node.js」を試してみました

こんにちは、「○○を試してみました」系のネタが大好きな中川です。

今回は、PHPからちょっと離れてサーバサイドJavaScriptを触ってみました。
世間では、少し前に話題になった?「node.js」を試してみます。



JavaScriptというと、クライアントのブラウザで動作して利用するのが通常ですが、node.jsはサーバサイドで利用することになります。JavaScriptエンジンにはGoogleChromeでおなじみの「V8」エンジンが使われているとのこと。

さて、早速公式サイト( http://nodejs.org/ )を頼りに進めてみます。
今回の環境は、CentOS5.3を利用しています。

まずは、「node.js」の本体のダウンロードからです。

サイドメニューの「Download」から現時点での最新版の「2010.02.22 node-v0.1.30.tar.gz」を利用します。



$ mkdir node
$ cd node
$ wget http://nodejs.org/dist/node-v0.1.30.tar.gz


解凍して、インストール!



$ tar xvzf node-v0.1.30.tar.gz   
$ cd node-v0.1.30/
$ ./configure
$ make
$ sudo make install	


解凍やconfigureで、なんかエラー(注意文?)が出てましたが、とりあえず、makeできたので無視しておきましょう。


さて、これで本体のインストールは完了ということで、まずは「Hello World」。。。なんて、やらずにDemoのチャットアプリ( http://chat.nodejs.org/ ) のソースがあるようなので、そっちを動かすことにしましょう!

http://github.com/ry/node_chat からgitで持ってきます。



$ mkdir chat_sample
$ cd chat_sample
$ git clone git://github.com/ry/node_chat.git 
$ cd node_chat
LICENSE-MIT  README  client.js  fu.js  index.html  jquery-1.2.6.min.js  server.js  style.css


わずかこれだけ!

さあ、実行してみます。



$ node server.js
Server at http://127.0.0.1:8001/


で、ブラウザからアクセスしてと・・・・。



おー、一発で動いた!!こんなに簡単にチャットアプリが!

server.jsの中身を見てみると、わずか200行未満なのと、
JavaScriptなのでクライアントサイドでいじった経験があるので、簡単に解読可能です。

開発自体も現在も活発に行われているようです。( http://github.com/ry/node/commits/master )
また、ネットいろいろ探してみたところ、
node.js向けフレームワークの「Express」( http://github.com/visionmedia/express )や、
MySQLドライバの「node-mysql」( http://github.com/masuidrive/node-mysql )など、
徐々に関連モノも出てきているようですので、今後も楽しみですね!

JavaScriptはもともと大好きだったのですが、
さすがにサーバサイド側での利用はしたことがなくどうなんだろうというのが正直なところですが、今回試してみて非常に手軽に始められるのは分かりました!!

今後もっと普及していくとうれしい限りです。