サーバとクライアントで互いのメソッドを呼べるnode.js用ライブラリ「nowjs」
nowjsはリアルタイムWebアプリケーションを手軽に実行できるnode.js用ライブラリ。
nowjsはJavaScript製/node.js用のフリーウェア(ソースコードは公開されている)。node.jsではWebサーバとクライアントが同じJavaScriptによって開発できるのがメリットになっている。とは言え全く同じという訳ではなくサーバ側独自の機能は存在する/
サンプルのチャットアプリケーション
もっと親和性高く、サーバとクライアントが互いにメッセージを飛ばし合えるとすればどうだろう。チャットのような相互通信系のWebアプリケーションや、コラボレーション機能が充実するはずだ。それを可能にするライブラリがnowjsになる。
nowjsはnode.js(サーバ)とWebブラウザで共通の関数を定義して、互いに関数を呼び合えるシステムだ。つまりサーバからクライアントの関数を実行(プッシュ)したり、逆にクライアントからサーバの関数を実行する事ができる。通信にはWebSocketを使っている。
サーバ
クロスドメインがサポートされており、IE9をはじめとするモダンなWebブラウザであれば動作するとの事。nowjsをベースにする事でチャットする程度のWebアプリケーションであれば12行程度で実装できてしまう。リアルタイムコラボレーションを実現したい時に見逃せないライブラリだ。
MOONGIFTはこう見る
Webアプリケーションを開発する上で欠かせないのがコラボレーション機能になると思われる。クライアントからリアルタイムに情報を送信し、それをサーバサイドで共有して別なクライアントに配信する機能だ。トランプや将棋のようなゲームでも大事な機能になるだろう。
チャットはテキスト程度で軽量だが、画像を扱うようなWebアプリケーションになるとデータが相当に複雑になるだろう。都度全体を送り直していたらサーバのリソースがあっという間に消費してしまう。そのような時にnowjsが活かせる場面があるのではないだろうか。
via Build Real Time Web Apps More Easily with NowJS
nowjs for Node - Directly call remote functions in Javascript