我可以使用Realm Mobile Platform构建哪种类型的应用程序?

时间:2017-03-08 22:58:48

标签: server realm

我最近发现了Realm Mobile Platform,但我不确定它到底是什么。
阅读文档后,似乎是一种将所有数据从设备同步并存储到服务器的方法,而应用程序端的影响较小。我简单地称之为云。

但它在realm.io主页中显示如下:

  

只需10行代码即可进行实时协作


哪个好,但我没有在文档或示例中看到任何代码来检索除我之外的其他用户ID。您似乎可以进行实时协作'仅对应用程序内的用户凭证进行硬编码,并使用单个用户在同一领域中工作。 Realm权限对我来说似乎没用,因为普通用户无法看到其他用户或其他领域 我看到的另一件事是Realm Event Framework,可用于Professional和Enterprise版本,它可以部分解决连接问题,添加了在特定事件上编辑对象的功能。
但是在用户彼此通信的应用程序中,如消息或社交网络,我无法使用事件从第一个用户域创建数据到第二个用户域,如果没有来自服务器的对象权限管理则完全不正确,因为在我的领域我显然可以编辑所有对象,但该对象可以由另一个用户创建。

在聊天帖中,我无权自由删除朋友的评论,我不能让客户端应用程序有权这样做。

另一个例子可能是'朋友'概念。不可能创建它,因为信息应该在两个用户之间共享,并且创建在用户之间共享存储连接的所有用户之间共享的Realm允许所有用户看到所有友谊,甚至更糟糕地管理其他人的友谊。

那么Realm Mobile Platform可以很好地用于示例应用,演示,在设备之间同步的便捷云解决方案,但我不能用它来代替我的RESTful Web服务?

2 个答案:

答案 0 :(得分:1)

可以使用Realm Mobile Platform构建许多不同的应用程序。我们已经开始编制一个演示应用程序列表here,希望它们可以帮助您入门。

答案 1 :(得分:1)

简短回答:如果没有专业版或企业版,您现在只能为用户创建云。

实际上,Realm Object Server Developer Edition 是一种在在线服务器上上传移动领域数据库的方法。没有更多,没有更少。
Fine-granted (object-level) permission将在未来发展,selective synchronization也将成为未来的功能。 新的访问控制功能允许为每个领域设置数据库用户权限。它只允许某些用户读取/写入/更改所选在线领域对象的权限。

因此,如果您正在考虑创建一个在所有用户之间共享的全局领域,请不要
与所有用户同步的共享域意味着所有用户都将下载所有信息,因此如果您的应用程序增长,新用户将在其设备中下载大约100/200/500 / 1000MB,仅查看其0.0 / 0.2%的数据。 我没有谈及安全问题。

付费解决方案[专业和企业版]

“救援事件处理。”

即使听起来有点奇怪,事件也是您使用用户权限创建服务的方式 但是你需要从移动的角度思考你的应用程序,将事件管理到其他用户数据库。

一个小例子:
我有一个包含三个组件的聊天线程。 A B C
每个用户在服务器上都有自己的领域,并附有本地数据库的副本 现在 A 发表评论。当它同步到Realm对象服务器时,事件处理程序会触发一个程序,该程序将打开 B C 领域,并在聊天线程中插入此新评论。然后,当用户 B C 将打开该应用时,新评论将同步。

您需要以同样的方式控制用户权限,因此用户 A 不会在 B C <上编辑用户 B 评论/ strong>领域,并将恢复对 A 领域的 B 评论,因为它没有编辑该对象的权限。

显然,这个解决方案会为每个有权访问该对象的用户复制信息。