2013-08-24 15 views

Antwort

28

Nach einigen Recherchen und ein relativ neues Thema zu sein, dachte ich, es wäre interessant, meine Erfahrungen Beantwortung meine Frage zu teilen:

Was ist der Unterschied zwischen der Verwendung von PouchDB ist und mit Couchbase Lite mit das neue LiteGap Plugin?

PouchDB kann eine lokale Datenbank (websql oder IndexedDB) auf dem Gerät erstellen und es mit einem externen CouchDB replizieren. Kann auch als Client für eine externe CouchDB verwendet werden.

Couchbase Lite erstellt eine iOS/Android-Datenbank auf dem Gerät, die standardmäßig auf http://localhost:5984 zugreifbar ist. Sie können dann das lokale Couchbase Lite mit anderen externen Couchbase/CouchDB-Diensten replizieren. Mit LiteGap können Sie eine Couchbase Lite-Datenbank in einem PhoneGap-Projekt erstellen und verwenden.

Beide Lösungen können in einem Phonegap-Projekt verwendet werden.

Sind es zwei verschiedene Lösungen für das gleiche Problem?

Kurz gesagt, nein.

PouchDB ist plattformübergreifend, sodass Sie es in einem Webprojekt und auch in einer Hybridanwendung verwenden können. Außerdem bietet es eine nützliche API, um direkt mit einer lokalen Datenbank oder externen CouchDB zu interagieren. Da Sie auf websql/IndexedDB-Technologien basieren, haben Sie Speicherbeschränkungen, die den Benutzer auffordern, mehr lokalen Speicherplatz für Ihr Web/Ihre App zuzulassen.

Couchbase Lite ist eine native iOS/Android-Lösung, die eine Couchbase-Datenbank im Gerät localhost setzt. Zusammen mit dem LiteGap-Plugin können Sie es in einem Phonegap-Projekt verwenden.

Kann die PouchDB-API für die Interaktion mit einer lokalen CouchBase Lite-Datenbank verwendet werden?

Ja, aber einige Funktionalität funktionierte nicht wie erwartet in meinen Tests.

Erstens, Couchbase Lite hat kein Javascript HTTP API, also dachte ich, Pouch zu verwenden, um nur als Client zu fungieren. PouchDB kann externe Couch-Dienste nutzen, daher haben wir Pouch eingerichtet, um das Gerät Couchbase Lite unter localhost:5984 zu verwenden.

Jetzt können Sie mit Pouch create eine Datenbank, put() oder replicate von lokalen in die Cloud.Allerdings habe ich Probleme gefunden, die von der Cloud zur lokalen Replikation von Pouchs replicate.from Methode. Eine Problemumgehung besteht darin, die 2-Wege-Replikation unter Verwendung der alten Adresse $.ajax so zu konfigurieren, als ob Sie den Knoten curl (Übergeben von Objektdaten mit source, target, continous usw.) verwenden würden.

Ich hoffe, dass dies jemand hilft, Entscheidungen darüber zu treffen, welche Technologien beim Erstellen einer offline/online synchronisierbaren Hybrid-App verwendet werden.

+1

Blog auf dieser Seite: http://pouchdb.com/adapters.html sagt, dass wir nicht mehr darüber im Klaren sein müssen, von Quoten usw. B 'se PouchDB integriert sich mit SQLite Wenn ich nicht falsch liege! – inblueswithu

8

Ich wollte nur Sie wissen lassen, dass ich eine umfangreiche performance review geschrieben habe, die die Unterschiede zwischen CouchDB und Couchbase Lite zeigt.

Einige Ergebnisse:

  • PouchDB gewinnt, wenn „Masse zu addieren Dokumente“ und „immer ein Dokument, das von id“
  • Couchbase Lite gewinnt, wenn „alle Dokumente bekommen“
  • sie als „eine Abfrage ziehen doc über view“(PouchDB schneller ist, aber Couchbase Lite hat Caching)
1

Zusätzlich zu den zwei anderen Antworten, here ist ein Beispiel-Anwendung von Couchbase.com Blog si te, wie man eine todo-list-Anwendung mit pouchDB erstellt und mit CouchBase Mobile synchronisiert.

Ein weiterer link, auf Blackberry-Entwickler „für Cordova/PhoneGap SQLite-Plugin“