Repolode
loro-dev

loro-dev/loro

JSON風のアプリデータを共同編集・マージ・バージョン管理できる、Rust製CRDTライブラリ(JS/WASM・Swiftバインディング付き)。

スター
6,238
フォーク
193
未解決の Issue
66
最終コミット
22 時間前

これは何?

Loroは、ローカルファーストや共同作業に対応したアプリケーションを構築するためのCRDT(Conflict-free Replicated Data Type)ライブラリです。各ピアでドキュメントをオフライン編集でき、ピア同士が同期すると自動的にマージされるため、競合の解決を中央サーバーに委ねる必要はありません。

このライブラリは、Fugueアルゴリズムに基づくテキスト編集、リッチテキストCRDT、移動可能なツリーとリスト、Last-write-winsマップなど、複数のデータ型を提供します。ドキュメントは差分更新、高速読み込み、履歴をたどるタイムトラベル、Gitのshallow cloneのように動作する浅いスナップショットに対応しています。

LoroはRustで書かれており、Rustから直接利用できるほか、WebAssembly経由のJavaScript(loro-crdt npmパッケージ)やSwiftからも利用できます。その他の言語はloro-ffiプロジェクトでサポートされています。

主な機能

  • 01ピア間の同時編集を自動でマージ
  • 02Fugueに基づくテキスト編集とリッチテキストCRDT
  • 03移動可能なツリーとリストのデータ型
  • 04ドキュメントの履歴をたどるタイムトラベル
  • 05Gitのshallow cloneに似た浅いスナップショット
  • 06変更分のみを同期する差分更新

ユースケース

  • 中央のマージサーバーを使わずに、JSONベースのアプリへリアルタイム共同編集を追加する
  • オフラインファーストのメモアプリやドキュメントエディターを構築し、後から同期する
  • 履歴の閲覧に対応した、構造化アプリデータのバージョン管理
  • WebアプリやSwiftアプリでのリッチテキスト共同編集

クイックスタート

  1. 1

    READMEにリンクされているGetting Startedチュートリアルを開きます

  2. 2

    READMEの例のように、JSプロジェクトでloro-crdtパッケージからLoroDocとLoroListをインポートします

収録されている特集

トピック

よくある質問

loro とは?
JSON風のアプリデータを共同編集・マージ・バージョン管理できる、Rust製CRDTライブラリ(JS/WASM・Swiftバインディング付き)。 Loroは、ローカルファーストや共同作業に対応したアプリケーションを構築するためのCRDT(Conflict-free Replicated Data Type)ライブラリです。各ピアでドキュメントをオフライン編集でき、ピア同士が同期すると自動的にマージされるため、競合の解決を中央サーバーに委ねる必要はありません。
loro は無料で使えますか?ライセンスは?
loro は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
loro は今もメンテナンスされていますか?
活発にメンテナンス中。loro の最終コミットは 2026年10月22日 です。
loro は何に使えますか?
中央のマージサーバーを使わずに、JSONベースのアプリへリアルタイム共同編集を追加する オフラインファーストのメモアプリやドキュメントエディターを構築し、後から同期する 履歴の閲覧に対応した、構造化アプリデータのバージョン管理 WebアプリやSwiftアプリでのリッチテキスト共同編集
loro のインストール方法は?
READMEにリンクされているGetting Startedチュートリアルを開きます READMEの例のように、JSプロジェクトでloro-crdtパッケージからLoroDocとLoroListをインポートします
loro はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/loro-dev/loro

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト