2012年8月15日水曜日

vert.x を使ってみた

vert.x なるものが軽量でとても良いと聞いたので、使ってみることにした。

vert.x とは


アプリケーションフレームワーク(サーバー)である。

公式である http://vertx.io/ を見て特徴をかいつまむとこんな感じ。

  • Polyglot
    複数の言語が使えるということ。Javascript, Coffee Script, Ruby, Python, Groovy, Javaなど。
    なおかつ、どれか1つではなくミックスして使うことが可能
  • Simplicity
    シンプル。必要なコードだけ書けば動く。設定の XML ファイルなどはない
  • Scalability
    拡張可能。メッセージ渡し、変更されない共有データによって最適化される。
  • Concurrency
    並列処理。超シンプルな並列処理の仕組みがあり、いわゆるマルチスレッドプログラミングの難しさに悩むこともない
  • WebSocketのサポート

インストール


今回は Ubuntu にインストールしてみる。

まずは vert.x をダウンロード

wget http://vertx.io/downloads/vert.x-1.2.3.final.zip

ここ http://vertx.io/install.html を見ると、必要なコンポーネントに JDK7 が必要ということなので、

sudo apt-get install openjdk-7-jdk でインストール

vert.x のインストールはファイルを解凍してパスを通せば良いようだ。

ということで、 vi ~/.profile で以下を追加

# set vert.x path to PATH
if [ -d "/usr/local/bin/vertx" ]; then
    PATH="/usr/local/bin/vertx/vert.x-1.2.3.final/bin:$PATH"
fi

追加しただけでは反映されないので、

source ~/.profile

で、即時反映。

ということで vert.x が動くかどうか確認

vertx version
と打ったら
vert.x-1.2.3.final
と表示されたのでOK

動作確認


とりあえず javascript で動かしてみる。

適当な場所に first_server.js としてファイルを作成し、以下の内容を記載。

load('vertx.js');

vertx.createHttpServer().requestHandler(function(req) {
    req.response.end("Hello vert.x world.");
}).listen(8080, 'localhost');

その後、以下のコマンドを実行。

vertx run first_server.js

ブラウザで http://localhost:8080/ にアクセスすると意図通りに表示された。




感想的なもの



  • インストールは簡単
  • javascript のソースを書いたが、至極シンプル。
  • 今後はサポートされている他の言語も使ってみようかと思っている(Java, Ruby, Pythonなど)