Slate-yjs aims to be the goto collaboration solution for slate. Get started in seconds, scale to infinity, customize to your hearts content.
I'm currently looking for sponsors to found further development of slate-yjs. These awesome sponsors already fund the development:
Hosting provided by:
Yjs offers a feature-rich rich text CRDT with best-in-class performance. It's used in production by multiple fortune 500 companies and is the core of many collaborative editing applications. Moreover, it offers a very mature ecosystem with server-side solutions like hocuspocus, enabling you to build robust and highly scalable collaborative/offline-first applications.
For more detailed benchmarks about performance, you can take a look here.
Why a CDRT over OT? While many current collaborative text editing applications rely on OT (e.g., google docs with ShareJS), it only provides a subset of the functionally CRDTs offer due to the dependence on a central server. In other words: CRDTS can do everything OT can, but OT simply can't.
You can read more about this here.
Slate-yjs's codebase is monorepo managed with yarn workspaces. It consists of a handful of packages—although you won't always use all of them:
|Core slate-yjs binding.
|React specific components/utils for slate-yjs.
These products use slate-yjs, and can give you an idea of what's possible:
For questions around yjs, head over to the Yjs Community. Trying to build a backend with hocuspocus and have questions? Take a look at the #hocuspocus channel in the TipTap Discord. Having issues with slate? There's a there's a Slack for that as well.
All contributions are super welcome! Check out the contributing instructions for more info!
Slate-yjs is MIT-licensed.