ShareJSはリアルタイムコラボレーション機能を任意のWebアプリケーションに追加するソフトウェアです。

Webアプリケーションの醍醐味と言えばコラボレーションにあります。チャットのようなシンプルなものもあれば、一つのファイルを複数人で編集したりするのも面白いです。今回紹介するShareJSはその基盤になり得るソフトウェアになります。


こちらはテキストを複数人で同時に編集できるデモです。行番号があるタイプになります。


こちらは行番号がないタイプ。データはリアルタイムに反映されます。


リードオンリーの表示。編集できません。


Markdownでの表記にも対応しています。


WebベースのIDE、Aceと一緒に組み込んだ例。シンタックスエラーが格好いいです。


リアルタイムプレビューのデモ。リードオンリーと編集を同時に組み合わせています。


ヘッダもなくシンプルなデザインにも適用。


ゲームにももちろん対応。陣取りゲーム。交互に陣地をとっていくゲームです。

対応WebブラウザはIE8以上、さらにFirefox、Safari、Google Chrome、Operaと殆どのWebブラウザに対応しています。node.jsを使うことでリアルタイムコラボレーションを容易に実現しています。システム的にはRedisも組み合わせているようです。

ShareJSはMIT Licenseのオープンソース・ソフトウェアです。

MOONGIFTはこう見る

リアルタイムコラボレーションはWebサービス、Webアプリケーションを魅力的なものにし、さらに利用時間を引き上げる効果があります。既存のWebシステムに機能追加で組み込みたいと思うかも知れませんが、向いているのはノンブロックなnode.jsなのでここだけ切り離して考えるのは十分考えられるでしょう。

コンテンツの編集において衝突が起こりやすいWiki系のサービスでは特に有益でしょう。またテキスト文書を複数人で一気に仕上げるなんて使い方も考えられます。既存のWebアプリケーションにコラボレーション機能だけを追加したいという時に便利に使えそうです。

デモ:ShareJS Examples

josephg/ShareJS - GitHub