3 ms·
For a collaborative text editor, you need two things: (1) a full-stack system that maintains a running list of data events such that everyone sees everyone else
by btown 4y ago
For a collaborative text editor, you need two things: (1) a full-stack system that maintains a running list of data events such that everyone sees everyone else's events eventually, and (2) frontend code that adapts that set of events, along with your text cursor position and current changes, into a cohesive view of a document at any moment in time.
Supabase and Replicache can absolutely help with (1). But for (2) you will need OT or CRDT.
https://docs.yjs.dev/getting-started/a-collaborative-editor https://docs.yjs.dev/getting-started/a-collaborative-editor is a good place to start - it uses Quill and CRDTs for (2) and can have a persistence layer built in (or custom written, to work on top of Supabase etc.) for (1).
- eduardosalaz 4y agoQuill Deltas are a very interesting concept, I used Quill myself along with Supabase for realtime sharing (not collaboration) of text and it was almost a breeze.
- aboodman 4y agoSeveral teams use yjs on top of Replicache, it's a real easy match.