BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Realm移动平台支持反应型移动应用,提供数据同步和事件处理功能

| 作者 Sergio De Simone 关注 12 他的粉丝 ,译者 张卫滨 关注 13 他的粉丝 发布于 2016年10月11日. 估计阅读时间: 3 分钟 | Google、Facebook、Pinterest、阿里、腾讯 等顶尖技术团队的上百个可供参考的架构实例!

Realm发布了新的移动开发平台,致力于提供无缝的实时同步、冲突处理以及反应型(Reactive)事件处理。另外,其客户端数据库目前已经完全开源

Realm移动平台(Realm Mobile Platform)通过其新的Realm对象服务器(Realm Object Server)来集成Realm移动数据库(Realm Mobile Database),提供了跨多移动设备平台的特性,包括iOS、Android和watchOS。

Realm移动数据库很重要的一个方面在于它是一个对象图管理器(object graph manager),致力于提供应用模型的直接表述,这类似于苹果的Core Data。Realm对象服务器扩展了这种哲学,提供了实时对象(live object)的抽象,根据Realm的声明,这些对象能够无缝和自动地与不同设备上的对象保持同步,在这个过程中甚至不需要编程人员编写网络代码。要实现这一点,有一项基础的特性就是自动冲突处理(automatic conflict resolution),当共享的实时对象同时提交时,会出现竞争变更,这时候就需要这项特性。Realm处理冲突的方式是致力于提供强的最终一致性,它能够保证即便在两端按照不同的顺序提交变更,最终都会形成相同的结果。这是通过以下几项基本的规则来实现的,包括:

  • 如果某个对象已删除的话,即便另外的设备对这个对象进行更新,它依然会保持删除状态;
  • 如果两个设备更新同一个属性的话,后面的一次更新会生效;
  • 如果两个设备都往列表的尾端添加条目的时候,那么这两个条目会按照它们的插入的时间追加到列表中。

借助自动化的冲突处理功能,Realm说开发人员可以很容易地构建正常运行的应用,不用担心数据丢失或间歇性地连接问题。

Realm移动平台另外一项很有趣的特性就是事件处理,不过它只能在高级企业版中才可以使用。通过它,能够定义服务端的处理器(handler),当对象状态的变更传递到服务器时,这些处理器就会触发,这样的话,能够设计应用实现serverless架构

Realm对象服务器能够部署在本地(on-premises),也可以运行在公有云上,包括AWS、Azure等等。Realm采用两种形式提供其移动平台:免费的开发者版本和高级企业版,后者包括了事件处理功能。

查看英文原文Realm Mobile Platform to Enable Reactive Mobile Apps with Data Sync and Event Handling

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT