【问题标题】:What are the advantages of Core Data over Firebase realtime database when offline mode is activated?激活离线模式时,Core Data 与 Firebase 实时数据库相比有哪些优势?
【发布时间】:2018-07-24 17:50:12
【问题描述】:

我的问题可能看起来有点幼稚,但作为一名 iOS 开发初学者,我开始认为 Core Data 可以被 firebase 实时数据库(或未来的 firestore)取代。我在两个单独的项目中使用了它们,并且在 firebase 中激活了离线功能后,我得到了相同的结果(也就是说,数据无需连接互联网即可保存到设备中)。我想我在 firebase 文档中读到了一些关于它无法同时过滤和排序的内容,这可能意味着 Core Data 可以更方便地进行复杂查询。有一些高级开发人员对这个主题的看法会很棒。 提前致谢。

【问题讨论】:

    标签: ios firebase core-data firebase-realtime-database


    【解决方案1】:

    这个问题对于 SO (IMO) 来说有点离题,并且(有点)征求意见,但它可能值得一个高层次的回答。我每天都使用这两个平台。

    Core Data 和 Firebase 是两个不相关的平台,用于(管理和)存储数据;在不了解您的用例的情况下,很难直接比较它们。

    CD 是一个框架,用于为您的应用程序中的对象建模。它是数据存储的“前端”,其中“后端”可以是 SQL、平面文件、plist 等。它更像是一个用户概念,将数据本地存储在设备上(它具有云功能,但这是一个不同的主题)。

    另一方面,Firebase 是一种实时的、事件驱动的、基于云的、支持多用户的 NoSQL 存储。虽然它提供离线持久性,但这确实适用于当设备暂时与互联网断开连接时需要与数据交互的情况。

    这是正确的:

    关于它无法过滤和排序的 firebase 文档 同一时间

    但是,您的 Firebase 结构取决于您想从中获得什么 - 如果结构正确,则可以同时以各种非常强大(和最有效)的方式对其进行过滤和排序。

    Core Data 确实是一项令人难以置信的技术,在对象之间建立关系非常简单,并且具有类似 SQL 的查询来检索数据。

    如果您正在寻找利用本地存储的数据库 - 请使用 Core Data 或其他在本地非常强大的数据库,例如 Realm、MySql 和其他一些数据库。

    如果您想拥有基于云的、多用户、事件驱动的存储,Firebase 是一个非常强大的竞争者(Realm 也是另一个选择)

    我建议构建一个非常简单的待办事项类型的应用程序并使用 Firebase 进行存储,然后使用核心数据构建另一个。应该只需要几个小时的工作,但它确实会给你一些很好的基本经验 - 你可以从那里做出更明智的决定。

    【讨论】:

    • 非常感谢。我会试试的:)
    猜你喜欢
    • 1970-01-01
    • 2014-10-25
    • 2021-05-28
    • 2013-09-22
    • 2012-05-17
    • 1970-01-01
    • 2010-09-09
    • 2011-09-16
    • 1970-01-01
    相关资源
    最近更新 更多