mirror of
https://github.com/loro-dev/loro.git
synced 2024-12-01 04:28:18 +00:00
Reimagine state management with CRDTs. Make your app collaborative effortlessly.
.devcontainer | ||
.github/workflows | ||
.vscode | ||
crates | ||
docs | ||
loro-js | ||
scripts | ||
supply-chain | ||
.editorconfig | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
deno.jsonc | ||
deno.lock | ||
deny.toml | ||
package.json | ||
pnpm-lock.yaml | ||
pnpm-workspace.yaml | ||
README.md | ||
rust-toolchain |
Loro
Loro is a fast CRDT framework with built-in end-to-end encryption ability.
It provides a set of data structures that can automatically sync without any conflict. With end-to-end encryption addon, all data can be encrypted without losing the ability to collaborate with the others. It aims to be the engine for building local-first software.
Why Loro
- 🚀 It is pretty fast
- 🔒 [WIP] Security built-in
- 💻 Syncing data made easy
- 📜 Preserve all history with low overhead
- 🪐 [WIP] Time travel the history in milliseconds
Loro supports a variety of data structures and CRDT algorithms.
- It supports the most used
List
,Map
andText
. - [WIP] Peritext for fine-grind rich text operations
- [TODO] Moveable Tree for directory-like moving operations
- [WIP] Super fast version checkout and undo/redo
Credits
- Automerge for its columnar encoding algorithm
- Yjs for the efficient algorithm of merging blocks
- Diamond-types for its idea of low-overhead merging algorithm
- Ink & Switch for Local-first Software and Peritext