tutorial lite example cordova couchbase pouchdb couchbase-lite

cordova - example - Diferencias entre PouchDB y CouchBase Lite+LiteGap



pouchdb server (3)

Después de algunas investigaciones y de ser un tema relativamente nuevo, pensé que sería interesante compartir mis experiencias respondiendo mi propia pregunta:

¿Cuál es la diferencia entre usar PouchDB y usar CouchBase Lite con el nuevo plugin LiteGap?

PouchDB puede crear una base de datos local ( websql o IndexedDB ) en el dispositivo y replicarlo con un CouchDB externo. También se puede usar como un cliente para un CouchDB externo.

Couchbase Lite crea una base de datos iOS / Android en el dispositivo, accesible de forma predeterminada en http://localhost:5984 . A continuación, puede replicar el Couchbase Lite local con otros servicios CouchDB / CouchDB externos. LiteGap le permite crear y usar un db Couchbase Lite en un proyecto PhoneGap.

Ambas soluciones están disponibles para usar en un proyecto de Phonegap.

¿Son dos soluciones diferentes para el mismo problema?

En resumen, no.

PouchDB es multiplataforma para que pueda usarlo en un proyecto web y también en una aplicación híbrida. También proporciona una API útil para interactuar directamente con un db local o un CouchDB externo. Al estar basado en las tecnologías websql / IndexedDB, tiene limitaciones de almacenamiento que le piden al usuario que permita más espacio de almacenamiento local para su web / aplicación.

Couchbase Lite es una solución nativa iOS / Android que establece una base de datos Couchbase en el dispositivo localhost. Junto con el complemento LiteGap, puede usarlo en un proyecto de Phonegap.

¿Se puede usar la API de PouchDB para interactuar con una base de datos local de CouchBase Lite?

Sí, pero algunas funciones no funcionaban como esperaba en mis pruebas.

Primero, Couchbase Lite no tiene HTTP API JavaScript, así que pensé usar Pouch para actuar solo como cliente. PouchDB puede usar servicios externos de Couch, por lo que configuramos Pouch para usar el dispositivo Couchbase Lite en localhost:5984 .

Ahora, con Pouch puede create una base de datos, put() o replicate de local a la nube. Sin embargo, encontré problemas para replicar de una nube a otra utilizando el método replicate.from de Pouch. Una solución alternativa consiste en configurar la replicación bidireccional utilizando el antiguo $.ajax antiguo para publicar en el http://localhost:5984/_replicate como si estuviera utilizando el curl nodo (pasando datos de objeto con source , target , continous , etc. .).

Espero que esto ayude a alguien a tomar decisiones sobre las tecnologías que se utilizan al crear una aplicación híbrida sin conexión / en línea sin cables.

En un proyecto fuera de línea / en línea de Phonegap:

  • ¿Cuál es la diferencia entre usar PouchDB y usar CouchBase Lite con el nuevo plugin LiteGap ?

  • ¿Son dos soluciones diferentes para el mismo problema?

  • ¿Se puede usar la API de PouchDB para interactuar con una base de datos local de CouchBase Lite?


Solo quería hacerle saber que escribí una amplia revisión de rendimiento que muestra las diferencias entre CouchDB y Couchbase Lite.

Algunos hallazgos:

  • PouchDB gana al "agregar documentos masivos" y "obtener un documento por identificación"
  • Couchbase Lite gana al obtener todos los documentos
  • se dibujan al "consultar un documento a través de la vista" (PouchDB es más rápido pero Couchbase Lite tiene el almacenamiento en caché)

Además de las otras 2 respuestas, aquí hay una aplicación de ejemplo del sitio de blogs de Couchbase.com, sobre cómo crear una aplicación de lista de tareas pendientes con pouchDB y sincronizarla con CouchBase Mobile.

Otro enlace , en el blog de desarrolladores de Blackberry