【发布时间】:2018-01-15 10:29:26
【问题描述】:
我们的 iOS 应用使用 CoreData 作为本地数据存储,我们使用 Firebase 跨设备同步本地数据。我们还依赖 FireBase 进行用户身份验证,所以它只是不同步数据。我们所有的查询都是针对本地数据库完成的。到目前为止,这种“本地 db + Firebase”组合运行良好,我们正在开始构建 Android 版本。
对于全新的全新 Android 代码,我们正在讨论是否应该采用与 iOS 相同的方法,还是只使用 Firebase 数据库。
对我们的应用很重要的一些功能:
- 完全离线工作(Firebase 在在线访问时可以很好地同步)
- 将单个云数据库作为事实来源,即模仿服务器端数据库
- 减少网络使用,即仅在需要时使用它
- 能够对数据执行各种查询
- 跨设备的实时数据(Firebase 实时同步很棒)
我们现有的方法“本地数据库 + Firebase”有什么缺点,或者如果我们改用只使用 Firebase 数据库会失去什么?
【问题讨论】:
-
我在 SO 上通读了类似这样的链接,但我正在寻找向开发人员学习这种方法 1.stackoverflow.com/questions/39029252/… (AND) 2.stackoverflow.com/questions/34486417/…
-
如果只使用 Firebase 作为存储解决方案,维护起来会容易得多
-
这确实是一个基于意见的问题,通常不适合本网站。 IMO ... #1 是 Firebase 不会成为一个好的解决方案的地方,因为它是一个具有一些离线功能的在线数据库。我鼓励您坚持使用单一数据库解决方案,如果您可以迁移到在线结构,Firebase 将符合要求。准备好重新考虑您的数据库结构,因为获取对象、过滤器和关系等内容的存在方式与 Core Data 中的方式不同。
标签: firebase core-data firebase-realtime-database android-sqlite