Actually, CouchDB is great at supporting offline-first, local data that syncs behind the scenes.
Here are two mobile implementations that will work cross-platform:
https://github.com/couchbaselabs/Couchbase-Lite-PhoneGap-Plu...
Actually, CouchDB is great at supporting offline-first, local data that syncs behind the scenes.
Here are two mobile implementations that will work cross-platform:
https://github.com/couchbaselabs/Couchbase-Lite-PhoneGap-Plu...
Hybrid definition: a thing made by combining two different elements; a mixture.
Using a cordova plugin to tap into native code while developing with web standards is a hybrid approach.
So what would CouchDB give me? Offline data sync? That's useful but wasn't hard to implement on my stack.
The reason I didn't use something like CouchDB is the time saved up front probably wasn't worth the cost in optimizing/debugging. It's just much harder to track down and fix bugs and address bottlenecks when relying on a large library designed for general use cases to do much of it.
I'd also have to buy-in having CouchDB on my server.
In this case I'm pretty sure I made the right decision. If the requirements were less rigorous, CouchDB Orr something similar might be better.
I also personally find it way easier to use than the standard stores on Android and iOS for on-device persistence. 2.0 is coming up and should simplify the use a bit, too. So as it stands now I'd say the main sweet spots are, ironically, around the two ends of the spectrum. Easy to use for persistent local storage with no sync, and the industrial strength solution when used with sync.
(I work for Couchbase on the mobile side.)
I have lots of business logic on back-end tho, how hard is that to implement on the server?
Most notable: You write your logic in JS (See _view and _list functions). There are no transactions. Geolocation is not easy.