layout | title |
---|---|
learn |
PouchDB, the JavaScript Database that Syncs! |
PouchDB was written to help web developers build applications that work as well offline as well as they do online, applications save data locally so the user can use all the features of an app even while offline and synchronise the data between clients so they have up to date data wherever they go.
PouchDB is a free open source project, written in Javascript by these wonderful contributors and inspired by Apache CouchDB. If you want to get involved then check out the contributing guide
PouchDB uses various backends so it can work across various browsers and in Node.js. It uses IndexedDB in Firefox and Chrome, WebSQL in Safari and Opera and LevelDB in Node.js. It is currently tested in:
- Firefox 12+
- Chrome 19+
- Opera 12+
- Safari 5+
- Node.js 0.10+
- Apache Cordova
- Internet Explorer 10+
If your application requires support for Internet Explorer below version 10, it is possible to use an online CouchDB as a fallback, however it will not work offline.
PouchDB in the browser currently beta release software, it is extensively tested and the functionality implemented is known to be stable however you may find bugs in lesser used parts of the API. The API is currently stable with no known changes and you will be able to upgrade PouchDB without losing data. We are currently working towards a stable release of PouchDB.
PouchDB in Node.js is currently alpha and an upgrade to the library can break current databases. It is however possible to upgrade by replicating data across different versions to manually upgrade.
PouchDB is designed to be a minimal library that is suitable for mobile devices, to start using PouchDB in your website you simply Download and include it in your webpage.
{% highlight html %}<script src="pouchdb-nightly.min.js"></script>{% endhighlight %}
If you are using Node.js then
{% highlight bash %}$ npm install pouchdb{% endhighlight %}
For a HTTP API to PouchDB check out PouchDB Server
To get started using PouchDB check out our Getting Started Tutorial and the API Documentation.