Node.jsを試す

目標はRails並に使えるようになることだが、まずはローカルマシンで手軽に試してみる。環境はデスクトップ用Gentoo。 net-libs/nodejs-0.9.2 を利用した。

Install

# emerge nodejs

( --autounmask-writeを要求された)

About npm

Railsのgemと同様の仕組みのライブラリ管理ユーティリティ。adminユーザに頼らず、プロジェクト単位で個別に使用ライブラリをインストールできる。

$ npm install PACKAGE

のようにつかう。すると現在のディレクトリにnode_modulesが生成される。

-gオプションを付加するとシステムディレクトリに入る。現環境だと/usr/lib{,64}/node_modules/npm/node_modules/のようだ。

Tutorial

http://nodejs.jp/ ここに初心者向けチュートリアルが充実している。

http://www.nodebeginner.org/index-jp.html ここを途中まですすめた。

How it works

通常、PHPアプリケーションならApacheのようなHTTPサーバ上で動作する。RailsはデフォルトではWEBrickというHTTPサーバ上になる。

Node.jsでは、自分のコードの中でHTTP応答部分を実装するかたちになるようだ。そもそもNode.jsは複数のモジュールから成っている。httpリクエストに応答するモジュールがあるからそれをrequireするという流れ。

以下はチュートリアルから引用

// server.js
var http = require("http");

var server = http.createServer();
server.listen(8888);

起動は一瞬。あとはhttp://localhost:8888で開くことができる。

$ node server.js

CakePHPやRailsがジズソーパズルを埋めていく感覚なのに対して、Node.jsはLEGOやガンプラを組み立てる感覚だった。Tower.jsを用いてもおそらく接ぎ木していく感覚になると思う。

副読本

ちなみにJavascriptの知識はほとんど無いどころか、他の言語に比べて勘がつかめず苦手だ。

現在は以下の本を参考にしている。この本のよいところは、Javascriptを真っ当なオブジェクト指向言語として扱っているところだ。冒頭ではむしろ関数型言語に近いとすら書かれている。Webの俗っぽさとは距離を置いているから、他の言語から入るにはちょうどいいし利点もつかみやすい。Node.jsをはじめるにあたって最も適していると感じた。

JavaScript: The Good Parts ―「良いパーツ」によるベストプラクティス

JavaScript: The Good Parts ―「良いパーツ」によるベストプラクティス