マルチスクリーンWebアプリケーション開発のためのjQueryプラグイン "jQluster" をリリース
ここ数カ月、"jQluster"と名付けたjQueryプラグインに取り組んでいたんだけど、とりあえずリリースできるところまで漕ぎ着けた。
jQlusterはよそのWebブラウザのDOMオブジェクトなどを操作するためのプラグイン。
普通、jQueryは自分のページの中のDOMオブジェクトを操作したりするために使われるけど、jQlusterは世界のどこかのよそのWebブラウザで表示されているよそのページのDOMオブジェクトを操作する。もちろん、どこのWebブラウザの表示ページでも操作できるわけではなく、同じjQlusterサーバに接続されて管理されているブラウザのページのみ操作できる。
一体そんなもの何の役に立つんだという話ではあるので、デモアプリケーションを作ってみた。
WebSocketに対応したブラウザが必要なので注意。
デモは単純なYouTubeプレイヤーだけど、jQlusterを使うことで複数のブラウザにまたがって動作するというのが特徴。
例えば上のスクリーンショットのように、Firefoxで開いたYouTubeプレイヤーをChromiumで開いたコントローラで操作することができる。これは、プレイヤー側のJavaScriptがjQlusterを使ってコントローラ側のページにイベントハンドラを仕掛けることで実現している。
もちろん、ただ単にChromiumでコントローラを開くだけではどうということもないけど、jQlusterでは異なるホストのWebブラウザのページも操作することができる。よって、PCで開いたWebページをタブレットで開いたWebページから操作するといったことも可能になる。
さらに、ここ最近ではテレビにWebブラウザが搭載されるという流れもある。
すると、テレビのWebブラウザとタブレットなど手元の端末のWebブラウザが連携するようなアプリケーションも出てくるかもしれない。実際、NHKのHybridcastのページ( http://www.nhk.or.jp/hybridcast/online/ )にはそういったアプリケーションの利用イメージ動画があるが、こういうものを作るのにもjQlusterは役に立つんじゃないかと考えている。
とはいえ、正直言ってそういったマルチスクリーン型のアプリケーションがどこまで使いやすいのかよく分からないけど、単純に面白そうな話ではある。
ところで、jQlusterのもう一つの特徴としては、よそのWebブラウザのページを操作するためのAPIがjQueryのAPIと非常によく似ているという点がある。
これにより、開発者はjQueryの知識さえあれば比較的簡単にマルチスクリーンWebアプリケーションを作れるようになると考えている。
詳しい使い方やAPI仕様は https://github.com/debug-ito/jQluster を参照されたい。