Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I have been surprised at the relative lack of interest from developers about first class syncing support, when mobile blew up I expected a flurry if libraries and tools that I could use to have my app work offline and sync data wherever I am.

Sometime last year I gave up waiting and started working on PouchDB (http://pouchdb.com/), its based on CouchDB's syncing model (and syncs with CouchDB) and works anywhere that Javascript runs (the browser + node), there is an iOS / OSX equivalent (https://github.com/couchbaselabs/TouchDB-iOS).

PouchDB isnt quite ready for production but its getting close, I would love any feedback on it, although I expect most people commenting on this would be more interested in TouchDB



I'm very interested in this, in fact I'm planning on rolling an iOS based couchDB solution for a company sometime this summer. Could you comment on some key differences between pouchDB and touchDB? Did you also try to simply run ARM compiled couchDB on iOS? If yes, how was the performance there? I've read that initializing takes about 10 seconds - I'd be willing to swallow that if the subsequent interactions are smooth.

How about the initial replication of larger databases? Do you roll out an initial version directly in your app or do you have some file based download of a snapshot?


The key differences between touchDB and pouchDB is that touch is written for ios and pouch is written for web browsers, if you are building for ios and not using phonegap then I suggest using touchdb. It is also the more mature of the 2 but hopefully we arent too far behind with pouch.

I used to work for Couchbase on the arm compiled couchdb mobile versions, mainly android but either way I wouldnt hugely recommend using them, they always worked against the grain of the platform, never had great performance and due to those reasons they didnt really get widely adopted and therefore I wouldnt trust their stability across a variety of platforms and use cases.

The problems with arm compiled couchdb is the reason TouchDB was made, and similiarly with PouchDB / TouchDB for android and CouchDB I hope we get to the point were there is an out of the box sync solution that works great on every platform, it doesnt feel too far away.

For large initial datasets I have tried taking a dump of the database and importing it on first load, it worked however replication has been more than sufficient for my use cases right now. Once pouch has stabilised and released there are a lot of low hanging fruit that can be done to optimise replication (and in particular for first load).


The TouchDB project was started at Couchbase, and since then we have ramped up our investment in mobile sync. The key thing about this project is that its designed to be tiny and boot fast. So it is written in Objective-C (and Java for Android.)

We are renaming TouchDB to Couchbase Lite (still 100% open source), and have a bunch more tools for it:

Couchbase Lite container for PhoneGap: https://github.com/couchbaselabs/LiteGap

Couchbase Lite for iOS: https://github.com/couchbase/couchbase-lite-ios

Community mailing list: https://groups.google.com/forum/#!forum/mobile-couchbase

We are 100% serious about building the best damn database for mobile. Bonus points that it will seamlessly interact with other projects like PouchDB and friends via the sync protocol originally written as part of Apache CouchDB.


Thanks for the great info, very helpful!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: