From 0803f31a0d4ff60736c62a7a95f90a1e62d57468 Mon Sep 17 00:00:00 2001
From: Zixuan Chen
+Make your app state synchronized and collaborative effortlessly. +
@@ -18,11 +23,12 @@ Sync state easily with CRDTs
-> **Notice**: The current API and encoding schema of Loro are subject to change. It is not recommended for use in production environments at this time. +> **Notice**: The current API and encoding schema of Loro are **experimental** and **subject to change**. Loro is a CRDTs(Conflict-free Replicated Data Types) library that allows you to persist and sync state easily. It is designed to make building [local-first apps][local-first] easier. -**What are CRDTs**? Conflict-free Replicated Data Types (CRDTs) are data structures that enable automatic conflict resolution. It allows users to make changes together, in real-time or asynchronously, without conflicting or relying on a central server. +**You can build time travel feature easily with Loro** + # Features From 598d6bccdfea3f517114388c554bd3251856431a Mon Sep 17 00:00:00 2001 From: Zixuan ChenMake your app state synchronized and collaborative effortlessly.
@@ -27,8 +25,9 @@ Make your app state synchronized and collaborative effortlessly. Loro is a CRDTs(Conflict-free Replicated Data Types) library that allows you to persist and sync state easily. It is designed to make building [local-first apps][local-first] easier. -**You can build time travel feature easily with Loro** +**You can build time travel feature easily with Loro**. +[![202311072214(2)](https://github.com/loro-dev/loro/assets/18425020/5f9b5f50-d6d8-4557-a95f-9050b8027e22)](https://github.com/zxch3n/loro-react-flow-example) # Features From c1613ee680c6a4757e55fcda76e4f5f627daeb56 Mon Sep 17 00:00:00 2001 From: Zixuan Chen
+Reimagine state management with CRDTs 🦜
Make your app state synchronized and collaborative effortlessly.
@@ -25,11 +25,11 @@ Make your app state synchronized and collaborative effortlessly.
Loro is a CRDTs(Conflict-free Replicated Data Types) library that allows you to persist and sync state easily. It is designed to make building [local-first apps][local-first] easier.
-**You can build time travel feature easily with Loro**.
+# Features
-[![202311072214(2)](https://github.com/loro-dev/loro/assets/18425020/5f9b5f50-d6d8-4557-a95f-9050b8027e22)](https://github.com/zxch3n/loro-react-flow-example)
+> **You can build time travel feature easily with Loro**.
-# Features
+[![202311072214(2)](https://github.com/loro-dev/loro/assets/18425020/5f9b5f50-d6d8-4557-a95f-9050b8027e22)](https://github.com/zxch3n/loro-react-flow-example)
## Supported CRDT Algorithms
@@ -38,22 +38,23 @@ Loro is a CRDTs(Conflict-free Replicated Data Types) library that allows you to
- **Peritext-like Rich Text CRDT**: Drawing inspiration from [Peritext](https://www.inkandswitch.com/peritext/), Loro manages rich text CRDTs that excel at merging concurrent rich text style edits, maintaining the original intent of users input as much as possible. Details on this will be explored further in an upcoming blog post.
- **Moveable Tree**: For applications requiring directory-like data manipulation, Loro utilizes the algorithm from [*A Highly-Available Move Operation for Replicated Trees*](https://ieeexplore.ieee.org/document/9563274), which simplifies the process of moving hierarchical data structures.
-## Special Powers of Loro
+## Advanced Features in Loro
- **Preserve Editing History**
- With Loro, you can track changes effortlessly as it records the editing history with low overhead.
- This feature is essential for audit trails, undo/redo functionality, and understanding the evolution of your data over time.
- **Time Travel Through History**
- It allows users to compare and merge manually when needed, although CRDTs typically resolve conflicts well.
+- **High Performance**
+ - [See benchmarks](https://www.loro.dev/docs/performance).
## Features Provided by CRDTs
-- **High Performance**
-- **Decentralized Synchronization**: Loro allows your app's state can be synced via p2p connections.
-- **Automatic Merging**: Say goodbye to merge conflicts. Loro guarantees eventual consistency, automating the merging of concurrent changes.
-- **Local Availability**: Data is persistently available on users' devices, ensuring offline functionality and real-time responsiveness.
+- **Decentralized Synchronization**: Loro allows your app's state synced via p2p connections.
+- **Automatic Merging**: CRDTs guarantee strong eventual consistency by automating the merging of concurrent changes.
+- **Local Availability**: Data can be persisted on users' devices, supporting offline functionality and real-time responsiveness.
- **Scalability**: Effortlessly scale your application horizontally thanks to the inherently distributed nature of CRDTs.
-- **Delta Updates**: Loro has out-of-the-box support for delta updates.
+- **Delta Updates**
# Credits
From d9cd90563fe0c0def332538c414f3afedfee2789 Mon Sep 17 00:00:00 2001
From: Zixuan Chen