4 ms·
MeteorJS solved this 12 years ago...but good to see more thoughts being put into this.
by aogaili 5y ago
MeteorJS solved this 12 years ago...but good to see more thoughts being put into this.
- ImprobableTruth 5y agoThe key feature of automerge is that it's decentralized like git. Two people could work asynchronously and only occasionally merge their results.
- jpgvm 5y agoIt did not at all. It solved the problem of how to reflect a source of truth (the server) in somewhat real-time on the client through subscriptions. Also made some attempt to have edits that were persisted to client-side mini-mongo pushed to the server but this was best effort at most. CRDTs are on a completely different level. They provide deterministic conflict resolution strategies through either/or causal and physical timestamps to ensure it's always safe to persist a write locally and later sync it with the server or not even have a server and sync directly which other peers.
- aogaili 5y agoI understand the difference. However, the local mini-mongo is acting a local-state and the JSON/JS all the way is solving the marshalling/ORM issue. I understand it is a centralized way of dealing with this, however, it was operating on the same problem space. Furthermore, automerge can be used as the server, which bring it closer to what Meteor did. I was hinting at the overlap in the problem space, but I should have phrased it better. Anyway, I'm keep to try automerge.
- jpgvm 5y agoYou can't just use automerge on the server, it must be used on the client and additionally on the server (or a more cut down version that just replicates deltas between peers). If you are going to try out automerge you should also take a look at y.js and diamond-types.
- aogaili 5y agoYes, I get that part. I'll take a look at y.js and diamond-types, thank you!
- aogaili 5y agoI get it, it is different Thanks for correction.