4 ms·
> This is the kind of polish that's really hard to do in hybrid, especially power efficiently. Actually, CouchDB is great at supporting offline-first, local da
by tropshop 9y ago
> This is the kind of polish that's really hard to do in hybrid, especially power efficiently.
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-Plugin https://github.com/couchbaselabs/Couchbase-Lite-PhoneGap-Plu...
https://github.com/cloudant/sync-cordova-plugin https://github.com/cloudant/sync-cordova-plugin
- robterrell 9y agoThat proves his point -- Couchbase Lite is native code and the PhoneGap plugin just calls out to it. A pure web app might use PouchDB in Cordova, but I suspect native beats it for energy efficiency every time.
- tropshop 9y agoHe is not talking about a pure web app, he actually explicitly said _hybrid_ 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.
- valuearb 9y agoI already use Coredata for local persistence. I use Mongo behind a REST API for data storage. 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.
- HodGreeley 9y agoCouchbase (not CouchDB) gives you a whole bunch of things. You get the embedded document database, sync/replication, conflict management, auth, scale, data routing, querying, and more. Not every project needs all these things, of course. It's just damn hard to get this stuff right when you do need it. 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.)
- valuearb 9y agoActually, it looks really good, I'll look into it more. I have lots of business logic on back-end tho, how hard is that to implement on the server?
- tropshop 9y agoI haven't used Mongo before. I have always been a Ruby/SQL shop, but now using Elixir/CouchDB. It was an awkward transition away from SQL, but I'm betting on this as a future stack. Most notable: You write your logic in JS (See _view and _list functions). There are no transactions. Geolocation is not easy.
- valuearb 9y agoMEAN, transitioning away from angular though.
- tropshop 9y agoI thought this was a native app?
- valuearb 9y agoMy product is essentially a SaaS for location based data collection with mobile app front ends. It's for businesses that service lots of clients at client locations and want to track work done. It's super easy to setup and is super customizable, has a flexible custom form builder, etc.