我们有一个 couchdb 服务器,其内容由 .NET 应用程序管理。
我们有一堆 android 客户端,我们希望通过单击按钮与该数据库同步。(它只是一个文件夹和项目的列表,没什么复杂的)
什么是最好的 Android 库。我看到有 Ektorp、touchdb 等。Ektorp 似乎有点重。TouchDb-Android 似乎很有希望。
你们有这方面的经验吗?还是我应该只对 couchdb 服务器使用 GET / POST 调用?
因为我正在做同样的事情,所以我已经对此做了很多研究。
我们有一些 CMS 内容要推送到 CouchDB 中,然后让移动设备与云中的服务器(集群)同步。
我们最终在云中使用 BigCouch(来自 Cloudant 的稳定的 CouchDB 分支),然后我们暂时使用 Couchbase Mobile。不幸的是,不支持 Couchbase Mobile(它已被 Couchbase 停产),但它很稳定。
与 Couchbase Mobile 的区别之一是它在移动设备上使用 Erlang 来运行本地 Couch 实例。这有点慢。
TouchDB 是我们俩都需要的,但它在 Android 上还不够成熟。TouchDB 有点时髦,因为它使用 SQLlite 作为后端。它肯定更快。他们已经发布了适用于 iOS 的 TouchDB 1.0,这很好,但他们还没有更新 Android 端口。我们发现 TouchDB 的 Android 端口(也来自 Couchbase)不太稳定。另外,如果您查看 GitHub 上的 TouchDB Android 代码,它有点草率。
因此,我们将在云中使用 BigCouch(而不是常规的 CouchDB)来支持集群,然后在移动设备上使用 Couchbase Mobile。一旦 TouchDB 在 Android 上变得更加成熟,我们将切换到它。好消息是他们都使用 Ektorp,所以两者之间的交换并不难。复制效果很好。它坚固且相当快。
快速说明:小心使用移动设备复制 Couch。写入本地移动设备的任何文档都将复制回服务器!
编辑
文档不会总是从本地设备复制到服务器。这是一种选择,但并非总是如此。我说得太早了。=/
我肯定会从其中一个库开始,并且只有在结果库(或者实际上,没有一个库)适合您时才恢复到 GET / POST 调用。