2016-12-29 149 views
4

我最近开始学习Realm。 Core Data,Realm和Firebase之间的差异并不明显。 另外我很困惑创建Realm的单例类,就像我通常为SQLite所做的那样。基本上我想明确何时以及为什么我在我的应用程序中使用这些数据库中的任何一个。Core Data,Firebase和Realm有什么区别?他们有什么优点和缺点?

编辑: 我知道这是基于观点的问题,但我认为是初学者也可以是有益的,如果有经验的人交流,他们通过自己的经验获得了他们的意见。如果每个人都将其标记为广泛的或基于意见的问题,那么我不可能从SO那里获得这些知识。我并不期待所有这些数据库的历史,只是关于使用它们的地点和原因以及它们的优点和缺点的指导。 谢谢大家提前。

回答

17

核心数据是一个对象图和持久性框架由 苹果在macOS和iOS操作系统。它被引入Mac OS X 10.OS X 10.4 Tiger和iOS与iPhone SDK 3.0。它允许通过关系实体 - 属性模型组织 的数据被序列化为XML, 二进制或SQLite存储。

核心数据是一个对象图,您也可以将您的图保存到磁盘。大多数与SQLite商店一起使用。

境界是独立的SQLite自己的本机的核心数据库,号称比核心数据更快,这可能是真的,因为核心数据有很多很多额外的功能,除了数据库(撤消管理等)

Firebase是一个NoSQL在线数据库,如果已配置,它也可以在没有网络的情况下运行;但是,它被设计成一个在线数据库。

您可以将Core Data或Realm用于本地存储。并使用Firebase进行云存储。假设您有一个聊天应用程序,您希望将所有历史记录存储在设备上以最大限度地减少网络流量。但是,当您在云上键入您希望在其他设备上读取和下载消息的内容时。

我会建议使用Firebase创建一个非常基本的聊天应用程序。然后将Realm添加到本地存储混合中,然后删除Realm并使用Core Data尝试本地存储。然后你将会更好地理解所有的技术。

+0

好回答..信息 – Veeravel

相关问题