massの日記

日々の薪

東京Node学園祭とExpressの初めの一歩

先日東京Node学園祭に参加してきた。昨年から色んなところできいているNode.jsを知ることが主な目的。
Rails3.1系から正式採用となったCoffeeScriptの勉強会にて、Macにnodeとnpmをインストールしたけれど、それ以後nodeそのものは触っていなかった。その後、MongoDBの勉強会でも耳にしたり、Webサーバとしても耳にしたり、色んなところでNode.jsの単語に触れる機会があった。
サーバーサイドでのJavaScriptコンパイラ、Webサーバとしても大活躍、色々な記事が出ていたけれど、こちらのサイトの説明がわかりやすかった。その上で東京Node学園祭でのいくつかのセッション内容をふまえた初めの感想は、スレッドではなくイベント駆動&ロックをしないことによる並列処理が基本、そして並列処理能力が求められる(多数のユーザからの同時接続が想定される)Webアプリケーションを構築する際に有効な手段であるなーといったところ。
もちろん、他の使い方もあるし、出てきたばかりだからモジュールとかは安定していないけれど、汎用性が非常に高いのがNodeである。色んなところで大活躍、ここまでJavaScriptでかけるってすごいよね!という結論に落ち着いた。(同時に自分のJavaScriptスキルの低さに絶望した。)
で、落ち着いたはいいけれど、今までNodeを使ったことがないので、なにはともあれNodeを使って Webアプリケーションを作ってみたい!という気分になった。どうせなら有名どころのフレームワークも勉強したかったので東京Node学園祭で数回出てきたExpressというフレームワークを使ってみることにした。

  • はじめに環境を用意しよう

nodeはあるか?→Yes
npmはあるか?→Yes

ということで、環境設定はほとんど必要なかった。後はExpress Guideを写経。expressはnpmからモジュールとしてインストールできるので、expressのインストール、プロジェクトの作成、npmによる各モジュールの依存関係の解消、サーバの起動。

$ npm install -g express
$ express /tmp/foo && cd /tmp/foo
$ npm install -d
$ node app.js

起動した。

これからExpressの構成とか、設定方法を見つつ、何かしらのアプリを作ろうと思う。ある程度なれたらSocketStreamも勉強してみたい。