使用PouchDB和使用新的LiteGap插件的CouchBase Lite有什么区别?
它们是同一个问题的两种不同解决方案吗?
可以使用PouchDB API与本地CouchBase Lite数据库进行交互吗?
使用PouchDB和使用新的LiteGap插件的CouchBase Lite有什么区别?
它们是同一个问题的两种不同解决方案吗?
可以使用PouchDB API与本地CouchBase Lite数据库进行交互吗?
经过一些研究并且这是一个相对较新的话题,我觉得分享一下我的经验会很有趣:
PouchDB和使用新的LiteGap插件的CouchBase Lite之间有什么区别?
PouchDB可以在设备上创建本地数据库(websql
或IndexedDB
),并将其与外部CouchDB同步。也可以用作外部CouchDB的客户端。
Couchbase Lite在设备上创建了一个iOS/Android数据库,默认情况下可以通过http://localhost:5984
访问。然后,您可以将本地Couchbase Lite与其他外部Couchbase/CouchDB服务进行同步。LiteGap允许您在PhoneGap项目中创建和使用Couchbase Lite数据库。
这两种解决方案都可以在Phonegap项目中使用。
它们是同一个问题的两个不同解决方案吗?
简而言之,不是。
PouchDB是跨平台的,因此您可以在Web项目和混合应用中使用它。同时,它提供了一个有用的API,直接与本地数据库或外部CouchDB交互。由于它基于websql/IndexedDB技术,所以您可能会遇到存储限制,要求用户允许更多的本地存储空间用于您的Web应用/应用程序。
Couchbase Lite是本机的iOS/Android解决方案,可以在设备localhost上设置Couchbase数据库。结合LiteGap插件,您可以在Phonegap项目中使用它。
可以使用PouchDB API与本地的CouchBase Lite数据库进行交互吗?
可以,但在我的测试中有一些功能无法正常工作。
首先,Couchbase Lite没有javascript HTTP API
,因此我想使用Pouch作为客户端。 PouchDB可以使用外部Couch服务,因此我们设置Pouch以使用设备上的Couchbase Lite在localhost:5984
.
创建
数据库,从本地put()
或replicate
到云端。然而,我在使用Pouch的replicate.from
方法复制云端到本地时遇到了问题。解决这个问题的一种方法是使用传统的$.ajax
设置双向复制,将数据以对象形式发送到设备的http://localhost:5984/_replicate
,就像使用node curl
一样(通过传递source
,target
,continuous
等参数)。想告诉你,我写了一篇详尽的性能评估来展示CouchDB和Couchbase Lite之间的差异。
一些发现: