There's Yjs (with a Rust port that is in progress), Automerge-rs, and your own diamond-types project :).
Is Yjs still the current go-to for most projects' needs?
There's Yjs (with a Rust port that is in progress), Automerge-rs, and your own diamond-types project :).
Is Yjs still the current go-to for most projects' needs?
Diamond types will beat yjs on a lot of benchmarks when I have it all working, but I'm still missing important functionality (like loading and saving, and data types other than plain text). The automerge devs have been working on incorporating a bunch of the changes I talked about in my blog post, but they have more work to do before those optimizations have all landed. If I were starting a new project today, I'd use Yjs.
But I suspect in a year or so from now there'll be several high quality CRDTs available to choose from. The space is heating up.
Please do share your experiences that support your opinion.
Gun.js can seem ‘magical’ but then again the 100 lines of code (iirc it’s less) are there for all to see.
I’ve found the time invested to learn about gun (the sync protocol) and RAD (storage abstraction layer) quite worth it. The addition of SEA (security encryption authorization) wrapping around gun enables a lot of implementation options which some find frustrating as they’d rather not have to think about topology before building ‘an app’. Could that be a reason for your comment?
Would love to hear why you think it’s snake oil.