サイトアイコン TechWave(テックウェーブ)

28台デバイスが同時に対話する「node.js+WebSocket」の威力 【増田(@maskin)真樹】


[読了時間:2分]

NodeJS Socket Lights from Computerlovers on Vimeo.

 上のデモ動画を見て頂きたい。一つのサーバーと、28台のパソコン(OS混合)・iPadなどがリアルタイムに連携するものである。サーバーから出た指示を、クライアントが受け、その色を画面に表示する。特殊なアプリケーションを使っているのではない、クライアント側はウェブブラウザで特定のページを開いているだけなのだ。サーバーもウェブページもJavaScriptベースで、コード(プログラム)も大して複雑なものではない。

node.jsとWebSocketで何かが変わる




 ウェブサイトの仕組みをある程度わかっている人なら、このインパクトに驚いているのではないだろうか。サーバーからの指示をリアルタイムで受けつつ、マルチデバイス・マルチOS・マルチブラウザでありながこれだけの速度でシームレスに動作し続けられるというものを、単純なコードで実現できるとは今までのWeb技術の常識からすると考えにくいものがあった。

 この実験で使われているのはJavaScriptベースのサーバーサイド技術「node.js」とソケット通信と呼ばれる「WebSocket」。node.jsは、同時に複数の処理をこなすのが得意な技術で、WebSocketはサーバとの接続状態を維持することができるというもの(実際はsocket.ioというモジュールを使用している)。

 つまり、このデモで動作している28台の端末は、ウェブブラウザを通じて常時ウェブサーバーと接続した状態にあり、サーバーからの描画指示に応えて動作しているのだ。

 MMOPRG(大人数で同時にプレイするPRG)やチャットプログラムなどでも使用され初めているが、人が多く集まる場所での使用や、即時性を重視するものなどへの応用も期待されている。例えばGPSデータと連携してイベントで使用したり、同時に楽器を演奏したりと、リアルタイム性や複数人数との同時接続を要求するものなどで本領を発揮する可能性もある。

【関連URL】
・NodeJS Socket Lights on Vimeo
http://vimeo.com/26326729

蛇足:僕はこう思ったッス
僕のイベントで時々使用させて頂いている「まじかるビンゴCOCORO」はまさにnode.jsとWebScoketで動作するもので、回線がとぼしい会場でも100名近い人との同時接続を達成している。日本ではまだ一部の技術者のみしか知らないような感のあるこの技術だが、このようなデモはとても分かりやすいので紹介した。この分野の応用は、ジオロケ熱の高い日本で本格化することで、新しい潮流さえ生みそうな予感がする。

著者プロフィール:TechWave副編集長・イマジニア 増田(maskin)真樹
 8才でプログラマ、12才で起業。18才でライター。日米のIT/ネットをあれこれ見つつ、生み伝えることを生業として今ここに。codeが書けるジャーナリスト。1990年代は週刊アスキーなど多数のIT関連媒体で雑誌ライターとして疾走後、シリコンバレーでベンチャー起業に参画。帰国後、ネットエイジで複数のスタートアップに関与。フリーで関心空間、富裕層SNSのnileport、@cosme、ニフティやソニーなどのブログ&SNS国内展開に広く関与。坂本龍一氏などが参加するプロジェクトのブログ立ち上げなどを主導。“IT業界なら場所に依存せず成功すべき”という信念で宇都宮市から子育てしながら全国・世界で活動中。スタートアップ支援に注力。自らもプロジェクト立ち上げ中。イベントオーガナイザー・DJ・小説家。 大手携帯キャリア公式ニュースポータルサイト編集デスク。コラボしてくれる人、会社募集中。
メール maskin(at)metamix.com | 書籍情報・詳しいプロフィールはこちら


モバイルバージョンを終了