Turn anything
into multiplayer.
Yorkie allow you to build multiplayer products without the need for database configuration and conflict management. This saves time and money.
Yorkie implements real-time collaboration based on the Conflict-free Replicated Data Type(CRDT) algorithm. CRDTs offer a clean and reliable way to resolve conflicts when editing concurrent data, unlike Operational Transformation(OT) algorithms which can be complex and may not always ensure convergence. Yorkie's use of the well-proven CRDT algorithm ensures reliable services.
Yorkie provides a general-purpose JSON-like Document to enable complex application models while some CRDT libraries that only offer basic data types.
1// You can use a key-value pair to share data with users.2// The key is a string, and the value should be serializable - objects, arrays, and primitives.3doc.update((root) => {4 root.num = 1; // {"num":1}5 root.obj = {'str':'a'}; // {"num":1,"obj":{"str":"a"}}6 root.arr = ['1', '2']; // {"num":1,"obj":{"str":"a"},"arr":[1,2]}7});
You can build a sense of presence by tracking the status of users who are editing the same document with Presence.
- SDKs for Mobile & Web
Yorkie SDKs support development for iOS, Android and Web applications.
- Size optimization
Yorkie uses Garbage Collection and Lamport timestamps to reduce the size of documents.
- Security
Auth Webhook allows users to verify the authorization of clients to access documents from an external service.
Real-time monitoring
anytime, anywhere.
Dashboard allows project members to browse stored documents and supervise the data warehouse easily.
Dashboard in Cloud is accessible from any device without the need for installation.
Build your own
Cluster
If needed, Yorkie open source packages allow you to build self-hosted server locally.
Yorkie open-source package includes SDKs, a server, and a database, making it easy to implement the co-editing feature.