[]
        
(Showing Draft Content)

js-collaboration-ot

js-collaboration-ot は、操作変換(Operational Transformation、OT)技術に基づく共同編集ライブラリであり、js-collaboration のリアルタイム同期機能を強化することを目的としています。OT 技術により、複数のユーザーが同じデータを同時に編集できるようにします。これは、クライアント側(js-collaboration-ot-client)とサーバー側(js-collaboration-ot)に分かれています。

適用シナリオ

リアルタイムの共同編集を必要とするアプリケーションに適しており、次のような用途が含まれます。

  • スプレッドシートの共同編集

  • リッチテキストの共同編集

  • インタラクティブなチャートの共同編集

コア機能

  • カスタム OT タイプ: 開発者が独自の操作タイプを定義し、さまざまな業務要件に対応できるようにします。

  • データ永続化: データベースストレージと統合するためのデータベースアダプター インターフェイスを提供します。

  • フラグメント機構(Fragments): 大規模ドキュメントにおける同期パフォーマンスを向上させます。

  • 競合解決: OT アルゴリズムによりデータ整合性を確保します。

  • ミドルウェアとフック: 共同編集プロセスに、検証、ログ記録、その他のロジックを挿入できるようにします。

設計上の利点

  • モジュール性: OT タイプ、ミドルウェア、アダプターはそれぞれ独立して設計されており、カスタマイズや拡張が容易です。

  • 効率性: フラグメント メカニズムにより、大規模ドキュメントの I/O オーバーヘッドを削減します。

  • 柔軟性: 非同期ミドルウェアと多様なデータベースをサポートし、複雑な業務シナリオに対応します。

次の手順

js-collaboration-ot のコア概念と API を習得します。対象は次のとおりです。

各トピックでは、サンプルコードを通じて実用的な使用方法を示します。