Node.jsを知らない人の多くが、「サーバ側でPHPやJavaみたいにJavaScriptが使えるようになっただけでしょ?」と思うようですが、実際はそうではありません。Node.jsはApacheやTomactのようなWebサーバやコンテナすら必要としない、とてもシンプルなJavaScript実行環境なのです。
例えば下のコードを見て下さい。Node.jsがどういうものなのか、すぐに理解できると思います。
これはNode.jsで動くHTTPサーバのHelloWorldです。
httpserver.js
var http = require('http'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello World\n'); }).listen(1337, '127.0.0.1'); console.log('Server running at http://127.0.0.1:1337/');
なんと、たったこれだけのコードで WebサーバのHelloWorldが完成です。
ApacheやTomcat, PHPなどといったソフトウェアは一切インストールしていません。
Node.jsがどれだけシンプルなものなのか、お分かりになれたでしょうか。
httpserver.jsを起動するには、Node.jsをインストールしたのちに、httpserver.jsの置いてあるパスまでcdして下のコマンドを実行するだけです。
$ node httpserver.js
Server running at http://127.0.0.1:1337/
httpserver.jsを起動後に http://127.0.0.1:1337/ へアクセスすると、画面に Hello World が表示されます。
アプリを落としたい時は、ターミナル画面から Ctrl+C で強制終了させてください。
ChromeでNode.jsアプリをデバッグ
Chromeブラウザにはとても優秀なJavaScriptデバッガが搭載されていますが、Node.jsアプリの開発でもこれを有効利用することができます。
Chromeでのデバッグを有効にするには、まずは npm (Node.jsのパッケージ管理ツール)を利用して node-inspector というツールをインストールします。
$ npm install -g node-inspector
上のコマンドを実行したらnode-inspectorのインストールが開始されます。
インストールが終わったら、さきほど作ったhttpserver.jsをデバッグモードで起動しておきます。
$ node --debug httpserver.js
Server running at http://127.0.0.1:1337/
そしてターミナル画面をもう一枚開いて、下のようにnode-inspectorを実行します。下の例ではport番号を明示的に「99999」で指定してみました。
$ node-inspector --web-port=99999
Node Inspector v0.5.0
info - socket.io started
Visit http://127.0.0.1:34463/debug?port=5858 to start debugging.
Chromeブラウザで http://127.0.0.1:34463/debug?port=5858 にアクセスすれば、普通のJavaScriptのようにデバッグ実行が可能になります。
サーバサイド開発といえばLAMP開発が定番で枯れた方法ですが、何だかんだでインストールやら設定やらは面倒くさいものですし、あまりスマートなやり方とはいえません。
そこにきて、Node.jsはサーバサイド開発の新たな定番となりつつあるようです。
やっぱり何ごともSimpleが一番ですね。
0 件のコメント:
コメントを投稿