Our great sponsors
-
peritext
A CRDT for asynchronous rich-text collaboration, where authors can work independently and then merge their changes.
-
SurveyJS
Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
Svelte is, but that is your smallest problem. You want to look into CRDTs (conflict-free replicated data types) to offer true (offline) collaboration. A popular JS library to solve this complex problem is called [automerge](Conflict-free replicated data type). A rather recent development in that area specifically for text-based content is Peritext. Also check out this interactive tutorial about CRDTs.
While it’s true that these apps draw to a canvas rather than render DOM Elements, this can be done in Svelte since a component does not need any DOM markup. A component-based approach is composable, state-driven and reactive. You need to work a lot with contexts where React would offer custom renderers. Nevertheless Svelte is fast enough for that. (I’m the author of threlte, which uses DOM-less components)
There are also some great implementations based on Yjs like this one svelt-yjs I prefer Yjs to automerge
Related posts
- Mario meets Pareto: multi-objective optimization of Mario Kart builds
- Threlte: A Three.js component library for Svelte
- A Three.js component library for Svelte
- What is your experience with JavaScript libraries for 3D graphics?
- Is there a way to improve the performance of this visual element in Svelte?