3 ms·
> Speed, battery-life, ease of programming are 3 of the main reasons we are motivated to build a Couch-compatible storage and sync layer on the device. If you h
by nupark2 15y ago
> Speed, battery-life, ease of programming are 3 of the main reasons we are motivated to build a Couch-compatible storage and sync layer on the device. If you have an intelligent sync solution, you can use significantly less radio time to present the same features.
You're just moving the costs around, and likely transmitting far more data than needs be sent.
In addition, you're front-loading the transmission of data that users don't need right now.
Having built many network-facing mobile applications with exceedingly large user bases, I'm unconvinced. The maintenance complexity, the excess transmission of data, issues of data consistency over time, the lack of integration with client-side business rules without considerable investment in code that significantly replaces the sync logic.
I think that the reality of the situation is that in the rare cases you need offline, fully synchronized data, it's not particularly difficult to just download what you need as an atomic unit and save it. The majority of the time, however, on-demand request handling is more efficient, well-defined, and maintainable.
- jchrisa 15y agoFor use cases where it's very important that users be able to read (and write) regardless of connection status, it makes a huge difference to have transparent sync. As far as ease of writing apps (and maintaining them), time will tell, some of our users have been at it for a few years now. The things I've seen people do, show me the synchronizing document model works. [edit] To be clear - Couchbase Server is mostly used for the explicit network model you advocate. For instance, the OMG POP mobile success story is using Couchbase as regular backend database storage.