具有本地存储、可同步、可搜索的只读内容的移动应用程序。石榴石?
Posted
技术标签:
【中文标题】具有本地存储、可同步、可搜索的只读内容的移动应用程序。石榴石?【英文标题】:Mobile app with locally stored, synchable, searchable read-only content. Sqlite? 【发布时间】:2019-02-23 19:15:03 【问题描述】:我正在开发一个 (Cordova ios/android) 移动应用程序,其中包含价值
鉴于我们想出的任何东西都必须是跨平台的,所以我专注于 Sqlite(可能是与应用程序捆绑在一起的定制构建)。它具有全文搜索,我们可以按相关方面数据进行过滤。
这是我正在研究的方法:
-
从上游数据重建内容集的每日/每小时作业。
在 FTS 表中重新索引新数据。
将 sqlite 数据库保存在 Web 可访问的存储桶中。
通知应用有新的内容集。
他们下载更改(或完整的数据库)。
是否有现有的服务或图书馆已经这样做了?
Fossil 似乎做了很多这样的事情,但它并没有被广泛使用。我找不到它被用作移动应用程序上的内容存储库的案例。此外,我们不需要从设备上推送更改,所以我不知道我们是否会为不需要的功能承担大量开销。
提供同步和离线的大多数其他服务(AppSync、Firebase)似乎也无法满足我们的需求,并且更专注于成为多写入器的实时后端。
【问题讨论】:
是的,SQLlite 是正确的选择。 【参考方案1】:我最近不得不研究同样的问题,我想出的两个选择是
-
Couchbase Lite
商业
NoSQL
本地全文搜索
内置冲突解决方案并与 Couchbase 同步
SQLite
免费和开源
SQL
本地全文搜索(默认情况下您只能获得fts4,但正如您所说,您可以编译和捆绑带有fts5 的版本)
冲突解决和同步由您决定
我选择了选项 2 (SQLite),因为我没有复杂的同步要求,这是一个爱好项目,数据移动速度很慢。从我对 Couchbase 的评估来看,我绝对推荐考虑它。
Firebase 和 AppSync 都不提供离线全文搜索。
【讨论】:
有一个Community Edition (CE) 版本的 Couchbase Lite 可以免费使用,它是open source。以上是关于具有本地存储、可同步、可搜索的只读内容的移动应用程序。石榴石?的主要内容,如果未能解决你的问题,请参考以下文章
Cordova / Javascript 将图像从 URL 复制到本地存储中