Tag: 实时数据库

使用Firebase进行实时受众调查

实时数据库提供了一个非常不错的平台,供您进行实验并充分发挥您的创造力。 随着获取/获取信息的必要速度的增加以及数据不断变化的额外约束,实时数据库已被证明非常有用。 现在,在一个庞大的实时数据库中,如果您了解到数据中某些特定部分发生的更改,并且随着更改的发生而实时对其感兴趣,那就太好了。 在设计模式中,此模型将称为发布者-订阅者模型。 有一些第三方云服务提供商可以帮助您实现发布-订阅模式,但是让我们在本文中重点介绍Firebase,因为它具有出色的实时数据库服务以及通知,文件存储,分析等其他基本服务等等。让我们用Firebase构建一个令人兴奋的实时受众调查应用程序,在该应用程序中,将向受众询问问题,并在几秒钟内回答,管理员可以实时查看结果。 看一下这个视频。 如您所见,Firebase承担了分别跟踪每个频道的订户的繁重工作,一旦管理员发布问题,Firebase便完成了将问题发送给该频道的所有订户的繁重工作! 请注意,我们不涉及推送通知来发送问题。 秘密在于,只要在节点(或上图中的通道)内进行任何更改,Firebase就会将相应的更改发送到该节点的所有侦听器(订阅者)。 在Firebase内部,数据存储在一系列字典中。 可以轻松缩放数据,并在添加通道,问题或答案时创建更多子节点。 此图显示了Firebase数据库的快照。 接下来,让我们研究一下如何将数据存储在Firebase中的简单代码。 在Firebase中存储数据 在订户应用程序中,我们将必须通过以下代码表达对侦听Firebase通道节点中的更改的兴趣。 在Firebase中监听节点 由于您已经开始了解直觉,因此在发布者应用程序中使用了与订阅者应用程序监听问题节点的相同过程来监听答案节点。 订阅者应用会将答案上传到Firebase。 如您所见,Firebase提供了一个非常好的实时数据库,并且只需很少的代码,我们就创建了一个实时的受众调查应用程序。 但是,我想在另一篇文章中重点介绍Firebase的某些缺点和局限性。 阅读本文,如果您对Firebase入门感兴趣,则可以阅读此设置Firebase教程。 您可以在Github存储库中查看此项目中使用的完整代码。 由Y Labs创新实验室开发

Realm.io与Google Firebase的比较-安全性的观点

Realm.io与Google Firebase的比较-安全性的观点 本文是一系列简短文章之一,在这些文章中,我试图将Google Firebase产品与Realm Cloud平台的功能进行比较。 这两种产品都为移动应用程序提供了实时数据库功能。 两者都称为后端即服务(mBAAS)。 本文重点介绍Firebase和Realm Cloud之间的安全模型差异。 有关Realm.io的更多信息,请参见: 领域:在短时间内创建响应式移动应用程序 Realm是一个移动平台,是SQLite和Core Data的替代品。 建立离线优先,反应灵敏的移动体验… 境界 有关Google Firebase的更多信息,请访问: 火力基地 Firebase是Google的移动平台,可帮助您快速开发高质量的应用程序并发展业务。 firebase.google.com 在过去的七年中,我一直是iOS开发人员,自2015年以来,我广泛使用Firebase和Realm对象数据库。在加州圣塔莫尼卡市Needly,Inc担任移动架构师的同时,我帮助开发了Troop Team产品和WorkCoin市场产品。 这两种产品都依靠Firebase作为后端,并使用Realm作为本地对象数据库。 今天,我正在管理一家名为Cosync,Inc的新创公司,该公司正在围绕Realm Cloud平台开发协作平台。 Realm.io是一家有趣的公司。 它由Alexander Stigsen和Bjarne Christiansen于2011年成立,旨在为iOS和Android提供移动数据库。 该公司获得了风险投资,并在2015年成功筹集了2,000万美元。早期,基于云的移动应用程序需要缓存大量数据,而不必每次需要时都访问网络。 即使Apple和Google都在其开发框架中提供了本地数据库, 通过诸如Core Data之类的模块,Realm是解决此问题的第一个真正的跨平台解决方案。 此外,Realm已免费提供给开发社区,并且很容易在Objective C,Swift或Java中启动和运行,具体取决于移动设备。 我大约三年前开始使用它。 如今,全球Realm安装量已超过20亿,Realm开发人员超过10万。 在雷达下谈论! 他们只有33名员工。 Realm公司发布了名为Realm Platform的数据库的付费服务器版本,该版本在2017年是一个完整的后端即服务解决方案。它们的托管解决方案非常经济实惠,三个Realm实例的起价约为每月30美元-Realm实例是可以分配给单个移动应用程序的完整数据库。 在大多数情况下,这三个实例对应于移动应用程序的开发,登台和生产数据库。 定价基于已安装的客户端实例和带宽使用情况的组合。 像Google的Firebase一样,价格随使用情况而定。 但是与Firebase不同,客户可以根据需要选择将Realm Platform托管在自己的服务器上。 这非常强大,因为它可以满足许多对安全敏感的客户的需要,因为这些数据是由Google托管的,因此无法使用Firebase。 但是,更重要的是,大多数将Firebase用作后端实时数据库的应用程序开发人员也将Realm用作本地数据库来缓存网络数据。 这通常需要在Firebase和Realm之间在两个方向上都有些复杂的翻译层,每个开发人员都必须编写该翻译层。 如果开发人员使用Realm平台而不是Firebase,那么这个额外的翻译层(我可以证明是许多错误的来源)就消失了。 在安全性方面,Firebase和Realm均提供了锁定数据的机制。 这两种产品均在服务器端提供NoSQL实时数据库,以服务登录到各种客户端设备的用户。 简而言之,问题如下。 实时数据库由符合模式的表的集合组成,每个表包含许多属性,这些属性描述属于该表的对象的类型。 数据库实例包含许多注册用户,其中一些可以在客户端设备上登录,这些用户访问表中的对象。 […]