[]
js-collaboration は、クライアントとサーバー間のリアルタイムなデータ同期のための、低遅延かつ双方向通信を可能にするライブラリです。クライアント側(js-collaboration-client)とサーバー側(js-collaboration)に分かれています。
双方向接続: リアルタイムなデータ同期を保証する、クライアント/サーバー間の双方向通信を実現します。
ルーム: 組織的な複数ユーザーの連携のため、ルームのライフサイクル操作(作成/参加/退出)をサポートします。
ブロードキャスト: リアルタイム通知配信機能により、ルーム参加者全員へのメッセージ送信を可能にします。
ハートビートと自動再接続: ハートビート監視と自動再接続の仕組みにより、安定した接続を維持します。
ミドルウェアとフック:
ミドルウェアは、接続およびメッセージ処理のプロセス中にユーザー定義ロジックを挿入する仕組みを提供します。これによりユーザーはサーバーのパイプラインにフックして、認証や権限などを処理できます。
フックは、重要なイベントが発生したときにユーザー定義の処理ロジックをトリガーする仕組みを提供します。
初期化フェーズは、クライアントがサーバーとの WebSocket 接続を確立した時点で完了します。サーバーは、同時並行のクライアントセッションを管理するためにルームベースのアーキテクチャを採用しており、各ルームは分離された同期コンテキストを表します。共同作業中、サーバーはブロードキャストの仕組みを介して、同じルーム内の各クライアントにリアルタイムメッセージをブロードキャストします。ブロードキャストの詳細は、「メッセージの送受信」を参照してください。

js-collaboration のコア概念と API を習得します。対象は次のとおりです。
クライアント/サーバーの初期化
リアルタイム接続の管理
サーバーのミドルウェアの仕組み
メッセージの送受信の実装
認可システムの構築
各トピックでは、サンプルコードを通じて実用的な使用方法を示します。チュートリアルに沿って、段階的に学習することをお勧めします。