3 ms·
Ecosystem for local-first and mobile is pretty immature, at least for Swift. In comparison to the web where there's so many libraries e.g. Zero, LiveStore, Liv
by bhl 1y ago
Ecosystem for local-first and mobile is pretty immature, at least for Swift.
In comparison to the web where there's so many libraries e.g. Zero, LiveStore, LiveBlocks, I've yet to find a good GRDB (sqlite abstraction) integration / client.
Offline-first is definitely very strong, but now how do I get data into a remote database with conflict resolution support?
- satvikpendem 1y agoI simply eschewed a relational database and instead used a CRDT like Yrs, Loro, Automerge, etc as my main source of truth. The benefit is that they work well on mobile as well as every other platform, given they're all written in Rust.
- artman 1y agoFor inspiration, you might want to look at what we open sourced at Uber, https://github.com/uber-archive/jetstream-ios https://github.com/uber-archive/jetstream-ios and https://github.com/uber-archive/jetstream/wiki/Protocol https://github.com/uber-archive/jetstream/wiki/Protocol. While pretty immature and quite outdated nowadays, it did power one prototype in production and has a lot of the same concepts that we later used in Linear's sync engine.