nodeQueryはnode.js用のサーバサイドjQueryで、サーバサイドでクライアントサイドのDOMを変更できたりします。

node.jsでjQueryライブラリを読み込むと、jQueryが提供するメソッドを使えますが、さらに一歩進めたのがnodeQueryです。サーバサイドからクライアントサイドの描画を変更できたりしてとても面白い実装ができます。


インストールはnpmで行います。


まずサンプルのブログです。普通に表示されているのが分かります。


サーバサイドです。node.jsのスクリプトの中でHTMLタグを出力しているのが分かります。構文にjQueryが使われているのも分かります。


ブログの新規投稿です。


投稿できました。


Twitter検索です。


時間が更新されるデモです。サーバサイドの時間であるのがミソです。


サーバサイドのソースです。

nodeQueryを使うとサーバサイドとクライアントサイドの区別がなくなったようなコーディングができるようになります。Socket.ioを使っているので表示は高速に、後からコンテンツを描画していくという手法がとれます。新感覚のプログラミング手法と言えるかも知れません。

nodeQueryはnode.js/JavaScript製、MIT Licenseのオープンソース・ソフトウェアです。

MOONGIFTはこう見る

nodeQueryの手法はHerokuが提供しているFacebookアプリのサンプルに似ています。一般的にWeb APIを使う部分はネットワークを利用する分遅延しがちです。それをSocket.ioを使うことで遅延実行させるという方法です。これはうまいと唸ってしまうくらいです。コードはこちらにあります。

さらにjQueryを使うことでクライアントに描画されているHTMLに対して直接(のように)変更が加えられます。考えを適切に分けないとごちゃごちゃしたプログラミングになりそうな気配もしますが、うまく使うと面白いソフトウェアが作れそうです。

デモ:Loaded.

tblobaum/nodeQuery - GitHub