Can I use CouchDB mobile as a replacement for localStorage?

Journeyman picture Journeyman · Sep 1, 2011 · Viewed 8.3k times · Source

I have an existing web app that runs offline (using HTML5 cache manifest).

I am storing data in localStorage. I am going to hit the 5Mb limit for localStorage. Can I use CouchDB as a local db, effectively replacing localStorage with the CouchDB implementation?

I don't want to install CouchDB on any servers, I just want to leverage the client-side storage capability to replace my localStorage implementation.

Is it as simple as downloading the relevant couchdb.js files and altering my client-side persistence code?

Thanks

Answer

Dale Harvey picture Dale Harvey · Sep 2, 2011

As usual "it depends"

If your application is being served from a website then no, there are projects like pouchdb which aim to provide a client side version of CouchDB, however they arent going to help you avoid the limitations of a browser

If you are shipping your application as a standalone application then yes, it should be a fairly simple matter of following the installation instructions to add CouchDB to your application:

and having your client code make couch requests instead of localStorage ones, remembering that:

  1. localStorage only stores strings and CouchDB stores JSON, and
  2. calls to Couch are asynchronous and localStorage are synchronous, neither of those should be particularly big changes in javascript though.

The other main option to look at would be PhoneGap which will provide you access to the native storage API's from the device while still dealing in html / javascript, its a cross platform library that allows you to access native API's including the Storage API that wont have browser limitations - http://docs.phonegap.com/phonegap_storage_storage.md.html#Storage

PhoneGap will also require you to ship as an application and not a website (its the only way to not be limited by the browser).