PouchDB is a client side database solution built on top of browser provided databases (IndexedDB and WebSQL). It's implemented in JavaScript and aims to be as much compatible with CouchDB as possible. It can also replicate to and from CouchDB, so is a good fit for offline applications with synchronisation capabilities.
Inroduction
PouchDB is a client side database solution built on top of browser provided databases (IndexedDB and soon WebSQL). It's implemented in JavaScript and aims to be as much compatible with CouchDB as possible. It can also replicate to and from couchdb, so is a good fit for offline applications with synchronisation capabilities.
Browser Support
PouchDB supports all modern browsers, using IndexedDB under the hood and falling back to WebSQL where IndexedDB isn't supported. It is fully tested and supported in:
- Firefox 29+ (Including Firefox OS and Firefox for Android)
- Chrome 30+
- Safari 5+
- Internet Explorer 10+
- Opera 21+
- Android 4.0+
- iOS 7.1+
- Windows Phone 8+
PouchDB also runs in cordova/PhoneGap, nw.js, Electron, and google-chrome-app. It is framework-agnostic, and you can use it with angular, reactjs, ember.js, backbone.js, or your framework of choice. There are many adapters, or you can just use PouchDB as-is.
How is PouchDB different from CouchDB?
PouchDB is also a CouchDB client, and you should be able to switch between a local database or an online CouchDB instance without changing any of your application's code.
However, there are some minor differences to note:
- View Collation - CouchDB uses ICU to order keys in a view query; in PouchDB they are ASCII ordered.
- View Offset - CouchDB returns an
offset
property in the view results. In PouchDB,offset
just mirrors theskip
parameter rather than returning a true offset.
Useful links
- Homepage for PouchDB: https://pouchdb.com
- Current Releases: https://pouchdb.com/download.html
- Documentation: https://pouchdb.com/guides/
- Source code: https://github.com/pouchdb/pouchdb
Related tags :
databasedocument-oriented-dbnon-relational-databasenosqlcouchdb