slate-yjs
lib0
slate-yjs | lib0 | |
---|---|---|
1 | 1 | |
484 | 307 | |
- | - | |
5.0 | 8.1 | |
about 2 months ago | 6 days ago | |
TypeScript | JavaScript | |
MIT License | MIT License |
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.
slate-yjs
lib0
-
Automerge: a new foundation for collaboration software [video]
https://github.com/dmonad/lib0
JavaScript engines use UTF-16 encoding. Golang (my main backend language) is using UTF-8 ... reimplementing Yjs code in Golang with algorithms and optimization and futher scaling might become impossible for small startups.
Build parallels with Automerge
4. Rich editing similar to Google Doc is very very complicated subject with lot of landmines
BitPhinix seems making a progress on updated example
What are some alternatives?
automerge - A JSON-like data structure (a CRDT) that can be modified concurrently by different users, and merged again automatically.
y-crdt - Rust port of Yjs
crdt-benchmarks - A collection of CRDT benchmarks
automerge-rs - Rust implementation of automerge [Moved to: https://github.com/automerge/automerge]
Matrix-CRDT - Use Matrix as a backend for local-first applications with the Matrix-CRDT Yjs provider.
rust-crdt - a collection of well-tested, serializable CRDTs for Rust
peritext - A CRDT for asynchronous rich-text collaboration, where authors can work independently and then merge their changes.
rust-libp2p - The Rust Implementation of the libp2p networking stack.