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.
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