【レビュー】
JavaScriptフレームワークやHTML5テクニックの紹介とともにNode.jsが取り上げられることが増えている。Node.jsはChromeのJavaScriptエンジンV8を活用して開発が進められているサーバサイドプラットフォーム。JavaScriptを使ってサーバサイドで動作するアプリケーションを簡単に開発できる。Node.jsには次のような特徴がある。
Node.jsはMac OS X、Linux、FreeBSD、OpenBSD、Windows/Cygwinなどで動作する。Node.jsの説明を参考にソースコードを取得して自力でビルドしてインストールするか、OSの提供しているパッケージ管理システム経由でインストールすればいい。最新開発版を利用するならFreeBSDのPorts Collection (www/node-devel)からインストールするのが簡単。安定版ならMac OS XのMacPorts経由でもいい。ビルドするならUbuntuが簡単。ビルドにはPython 2.4+と場合によってはOpenSSLが必要。
Node.jsに掲載されているサンプルがNode.jsの特徴をつかむ上でわかりやすい。たとえばテキストを返すだけのHTTPサーバは次のように作成する。
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(8124, "127.0.0.1");
console.log('Server running at http://127.0.0.1:8124/');
動作しているサーバへは並列アクセスが可能。OSの効率のいい機能を使って並列接続を処理してくれる。HTTP接続はNode.jsが提供しているもっとも代表的なクラス。ほかにもソケットレベルでの処理も提供している。ソケットを使ってEchoサーバを作成するサンプルは次のとおり。掲載してあるソースコードはNode.jsに掲載されているサンプルにログを出力する処理を追加したもの。ソケットベースで動作するサーバにはtelnet(1)でアクセスすればいい。
var net = require('net');
net.createServer(function (socket) {
socket.write("Echo server\r\n");
socket.on("data", function (data) {
socket.write(data);
});
}).listen(8124, "127.0.0.1");
console.log('Server running at 127.0.0.1, 8124');
サーバサイドで動作するアプリケーションの開発にはJavaを使うことが多い。Webページの表示に強く関係付けられている場合にはPHPを使うことが多く、ほかにもRuby、Python、Perlなどのプログラミング言語を使ってサーバサイドのアプリケーションは開発されている。処理速度が必要になるケースではC/C++への置き換えもおこなわれる。
Node.jsはJavaScriptを使ったプログラミングを提供してくれるため、WebページやWebアプリケーションを開発するフロントエンドプログラマがサーバサイドプログラムの開発も実施しやすくなるという利点がある。基盤技術として採用されているV8はChromeの開発とともに性能を向上させており、今後も高速化が期待できる。APIも充実しつつあり、手軽にサーバサイドアプリケーションを開発する技術としてNode.jsは興味深いプロダクトに成長しつつある。
| ISSCC 2012 - ルネサス、システムLSI向け2ポートSRAM回路技術を開発 [15:38 2/23] |
| 村田製作所、TransferJet規格に対応した無線デバイスを開発 [15:24 2/23] |
| FSL、全通信方式対応のマルチモード/マルチバンドRFトランシーバLSIを発売 [14:21 2/23] |
| ISSCC 2012 - ソニー、転送速度350Mbpsを実現したTransferJet対応LSIを発表 [13:54 2/23] |
| ISSCC 2012 - パナソニック、443MB/sの書き込み速度を実現したReRAMを開発 [13:35 2/23] |
|
人気のPCソフトは?「復活!第17回Vectorプロレジ大賞」が発表 [17:00 2/23] パソコン |
|
これだけは譲れない「恋愛ルール」 [17:00 2/23] キャリア |
|
Corsair、Marvell製コントローラを採用したリード最大515MB/秒のSSD [16:59 2/23] パソコン |
|
『テルマエ・ロマエ』が日本一の浴場を目指す"風呂ゲー"としてソーシャルゲームに [16:50 2/23] ホビー |
|
【レポート】話題のグッズやダイアリーも! 2012年のモレスキン新商品をいち早くチェック [16:50 2/23] クリエイティブ |