12 ポイント 投稿者 xguru 2023-11-14 | 1件のコメント | WhatsAppで共有
  • "Local-First" 開発パラダイムのためのオープンソース高性能CRDTライブラリであるLoroの紹介
  • 多様なCRDTアルゴリズムをサポート
    • 共通データ構造: ソート済みコレクション向けの List、キー・バリューの組向けのLWW(Last Write Win) Map、階層データ向けの Tree、リッチテキスト操作向けの Text
    • OTライクなCRDT: Seph Gentle のDiamond-typeコンセプトに基づく
    • リッチテキストCRDT: Ink & SwitchのPeritextとMatthew WeidnerのRDT Fugueアルゴリズムを統合
    • Movable Tree: Martin Kleppmanの論文 "A Highly-Available Move Operation for Replicated Trees" を実装
  • Loroの高度な機能
    • 編集履歴の保持: オーバーヘッドの少ない編集履歴を記録し、変更を容易に追跡
    • Historyによるタイムトラベル: 通常、競合が発生してもCRDTがうまく解決するが、必要に応じてユーザーが手動で比較・マージできる
    • 高性能: yjs、automerge などより高速
  • データ構造
    • generic-btree をオープンソースとして公開。コンパクトなメモリレイアウトとキャッシュフレンドリーな設計
    • 高い性能を備え、最小限のコードでさまざまな情報型をサポート
    • 内部的にドキュメントの状態と履歴を分離
  • 来年半ばまでに1.0をリリースすることを目標としている
    • WASMインターフェースを提供予定
    • ドキュメント整備も進行中
    • Movable Lists やグローバルなUndo/Redo操作などをサポートする計画

1件のコメント