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

Flotype/now - GitHub