Introduction to SyncedStore
SyncedStore is a library for building distributed, real-time collaborative web applications that sync automatically. This used to be quite complex, but with SyncedStore it's as easy as sharing a pie!
It adds an easy-to-use API on top of modern CRDT technology (see below) to make developing multiplayer (or multi-device) experiences just as simple as developing regular applications.
TL;DRβ
Create apps like this:
Using an API as simple as this:
// add a todo
store.todos.push({ completed: false, title: "Get groceries" });
// set todo to completed
store.todos[0].completed = true;
You can walk through the documentation page-by-page, but if you're curious, you might want to jump straight into the live examples:
Why?β
SyncedStore makes it easy to develop applications that:
- π¨βπ©βπ§βπ¦ Are collaborative: create multi-user and multi-device experiences without the need to handle complex conflict resolution management yourself.
- π Are fast: operations are handled locally, and data synchronization with other users and devices happens quietly in the background. 0 Latency!
- π Work offline: cloud apps typically donβt work while offline. Supporting both data sync and offline used to be difficult, SyncedStore aims to simplify this.
Perhaps most importantly, it makes it easy to build decentralized applications. This has a lot of security & privacy benefits compared to always relying on central (expensive) servers to keep track of all our data.
Read more about the benefits of Local-first software in this essay
In short, with some technological magic of so-called CRDTs (Conflict-free Replicated Data Types), we can build cross-device apps that are more collaborative, faster, work offline AND put the user back in control of their data.
Sounds great? Let's get started!
Credits β€οΈβ
SyncedStore builds directly on Yjs (a proven, high performance CRDT implementation) and Reactive. It's also inspired by and builds upon the amazing work by MobX and NX Observe.
SyncedStore is built as part of TypeCell. TypeCell is proudly sponsored by the renowned NLNet foundation who are on a mission to support an open internet, and protect the privacy and security of internet users. Check them out!