サーバとクライアントを同一コードで動かすリアルタイムコラボレーションWebフレームワーク「Meteor」
Meteorはサーバとクライアントが同一のコードで動作するnode.js用Webアプリケーションフレームワークです。
久々にぞくぞくさせられるWebアプリケーションフレームワークの紹介です。Meteorはnode.js用のWebアプリケーションフレームワークですが、同一のコードがサーバとクライアントで動作するユニークな特徴を持っています。
インストールします。コマンド一行でダウンロードからインストールまで実行されます。
console.logに出力されています。ちゃんとコードが実行されています。
サンプルのTodoアプリです。こちらはGoogle Chromeです。
Google Chromeで編集を行うと即時Safariに反映されます。
こちらは別なサンプル。ボタンを押すとポイントがアップして並び順が変化します。もちろんWebブラウザ間でデータが共有されます。
Meteorを使うとリアルタイムコラボレーション型のWebアプリケーションがさくさく作れます。さらにそのコードがサーバサイドで実行されているのか、クライアントサイドで実行されているかを一つのコードの中で判断し、処理を変更させられます。かなり尖った作りなので向き不向きがありそうですが、一度トライしてみたいフレームワークです。
MeteorはJavaScript/node.js製、GPLのオープンソース・ソフトウェアです。
MOONGIFTはこう見る
サーバサイド、クライアントサイドが同一のコードで動くというのはYahoo! Inc.がリリースした○に似ています。どちらもnode.jsであり、JavaScriptをサーバ/クライアントの共通言語としています。同一のコードを使って一つのシステムを構築するというのは統一性にすぐれ、メンテナンスコストも低減するでしょう。
node.jsは特徴的であるために一般的なWebサービスには不向きと考えられています。しかし今後PHPレベルで使えるようなnode.jsが出てくれば事態は急変するかも知れません。Railsが登場した当時も、本格的には使えないといった意見が多々聞かれました。現在を省みるにnode.jsの習得はWebプログラマにとって必須と言えるでしょう。