2013/06/18

リアルタイムデータ同期が可能なNode用MVCフレームワークのDerbyを導入する

DerbyはNode上でのリアルタイムのデータ同期が可能なMVCフレームワークです。

同様のフレームワークにMeteorがありますが、Derbyが最近バージョンアップしてわりとよさげだったので試してみました。

Derby自体がどんな感じなのかは公式のデモを参照してください。

この記事ではDerbyの導入からサンプルプロジェクトの起動までの方法を紹介します。

なお、node (0.10以降), npm, brewは導入済みであるとします。

RedisとMongoDBの導入

brewを利用するだけですので詳細は省略します。

Redis:
> brew install redis
==> Downloading http://redis.googlecode.com/files/redis-2.6.13.tar.gz
######################################################################## 100.0%
==> make -C /private/tmp/redis-KmCV/redis-2.6.13/src CC=cc
==> Caveats
To have launchd start redis at login:
    ln -sfv /usr/local/opt/redis/*.plist ~/Library/LaunchAgents
Then to load redis now:
    launchctl load ~/Library/LaunchAgents/homebrew.mxcl.redis.plist
Or, if you don't want/need launchctl, you can just run:
    redis-server /usr/local/etc/redis.conf
==> Summary
🍺  /usr/local/Cellar/redis/2.6.13: 9 files, 756K, built in 7 seconds
MongoDB:
> brew install mongodb
==> Downloading http://fastdl.mongodb.org/osx/mongodb-osx-x86_64-2.4.3.tgz
######################################################################## 100.0%
==> Caveats
To have launchd start mongodb at login:
    ln -sfv /usr/local/opt/mongodb/*.plist ~/Library/LaunchAgents
Then to load mongodb now:
    launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist
Or, if you don't want/need launchctl, you can just run:
    mongod
==> Summary
🍺  /usr/local/Cellar/mongodb/2.4.3-x86_64: 20 files, 315M, built in 23 seconds

Derbyの導入

Derbyもnpmを利用するだけです。これでコマンドラインからderbyが利用できるようになります。

> npm install -g derby

First-Project

コマンドラインderbyはプロジェクトの雛形を作成するためのものです。詳細はderby --helpを参照してください。

-nなしだと雛形作成後にモジュールも取得しにいきますが、取得量が多いのにプログレスがわからないので不安になります。

> derby new -n derby-sample

 Creating project in derby-sample with the application app

  created: /Users/safx/src/Sample/derby-sample
  created: /Users/safx/src/Sample/derby-sample/lib
        :

  Project created!

  Try it out:
    $ cd derby-sample
    $ npm install
    $ npm start

  More info at: http://derbyjs.com/

あとは書かれている通りに

> cd derby-sample
> npm install

を実行してモジュールを取得します。

サーバの起動

RedisとMongoDBを起動させておいてからアプリを起動させます。

> redis-server &
> mongod &
> npm start

すると、次のようなメッセージが出るのでブラウザなどで確認します。

 > derby-sample@0.0.0 start /Users/safx/src/Sample/derby-sample
 > node server.js

Master pid  559
560 listening. Go to: http://localhost:3000/

おわりに

Derbyの導入からサンプルプロジェクトの起動までの方法を紹介しました。

TodoMVCにはDerbyとMeteorのサンプルコードもありますので比較してみるのもよいかもしれません。

関連リンク

0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。