electric_dart
fugue-bench
electric_dart | fugue-bench | |
---|---|---|
2 | 4 | |
84 | 3 | |
- | - | |
9.7 | 5.3 | |
4 days ago | about 1 year ago | |
Dart | JavaScript | |
Apache License 2.0 | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
electric_dart
-
Show HN: ElectricSQL, Postgres to SQLite active-active sync for local-first apps
Hey, yup it's definitely a medium term objective.
The team at SkillDevs are maintaining a Daft/Flutter client at https://github.com/SkillDevs/electric_dart
Plus we have a thread to extract the core client-side replication component to Rust to be able to compile for multiple targets.
-
CRDT-richtext: Rust implementation of Peritext and Fugue
We (ElectricSQL) have some work underway on a Rust/WASM port of our core client component, that’s designed to open up more language support.
This is a community contributed Dart/Flutter client https://github.com/SkillDevs/electric_dart that may also be a useful reference.
fugue-bench
-
CRDT Concepts: Causal Trees
For a different tree-based CRDT, I did a head-to-head comparison of implementations that use a node-per-char (Fugue Simple) vs runs (Fugue), with results in Section 5 of this paper: https://arxiv.org/abs/2305.00583
- The Art of the Fugue: Minimizing Interleaving in Collaborative Text Editing
- A Critical Examination of “The Art of the Fugue” Paper in Relation to OT
-
CRDT-richtext: Rust implementation of Peritext and Fugue
The source code of the benchmark is available here https://github.com/zxch3n/fugue-bench
What are some alternatives?
electric - Local-first sync layer for web and mobile apps. Build reactive, realtime, local-first apps directly on Postgres.
yjs-pg-test - Test combining yjs and PostgreSQL using plv8 and plv8ify
vaxine - Rich-CRDT database based on AntidoteDB.
text-diff - a python implementation of diff3 and three way merge
eventually-consistent-mesh - an attempt to create an asynchronously replicated append only eventually consistent data protocol
pg_crdt - POC CRDT support in Postgres
crdt-benchmarks - Real world text editing traces for benchmarking CRDT and Rope data structures [Moved to: https://github.com/josephg/editing-traces]
cr-sqlite - Convergent, Replicated SQLite. Multi-writer and CRDT support for SQLite
yjs-sqlite-test - Test combining yjs and sqlite wasm