Comment by omgtehlion

5 years ago

CRDTs are hip and cool. But right now I'm trying to find an implementation for desktop software, not some web-framework in-electron. And could not find a concise and correct codebase.

All the implementations are: 1. javascript or 2. dependent on their chosen method of synchronisation or 3. incorrect.

The result of a two week long search is that I'm reimplementing the stuff myself...

https://github.com/automerge/automerge-rs

I can't speak to its usability as I'm waiting on a 1.0

  • Im one of the authors of this. Right now the code is very unstable as we're tracking the performance branch of the JS implementation. Once the JS version hits 1.0 I'll be putting a bunch of effort into making the API cleaner and more rusty and documenting things.

    It does work and can actually be used as a backend for the JS implementation if you use the wasm backend we've built. In fact, this is how we have tested it, by compiling to WASM and running the JS test script against it.