Realm Blog

リアルタイムの共同編集をすべてのモバイルデベロッパーに

Realm Mobile Platformをリリースしてから、複数のユーザー間でデータを共有し、リアルタイムな真の共同作業機能を追加すると、アプリケーションがどれだけ強力になるかがわかりました。これを実現するために必要な主要要素は、クライアントが変更できるアクセスコントロールであり、その機能を利用できるのは、有料のエンタープライズ版だけに限られていました。現在では、Realm Mobile Platformのすべてのエディションにアクセスコントロールを導入しているため、すべてのモバイルデベロッパーは、無料のDeveloper Editionを使用していても、複数ユーザー間のリアルタイムな共同編集をアプリで使用することができます。

これを実現するために、CocoaおよびAndroidクライアントSDKに新しい機能を追加し、Realm Object Serverによって管理されていたRealmに対するアクセスコントロールのAPIを公開します。これにより、データにアクセスできるユーザーを制御できます。

仕組みは簡単です。あるRealmを作成したユーザは、PermissionChangeオブジェクトを作成し、ユーザと新しい権限(mayReadmayWriteなど)を指定することで、他のユーザーとRealmを共有できます。PermissionChangeオブジェクトが作成された後、そのオブジェクトは特別なマネジメントRealmに保存され、Realm Object Serverに同期され、変更が指定したユーザーに適用されます。

![Client Permission diagram](// images.contentful.com/emmiduwd41v7/6qKfHOgawo0uw84SI8OmKS/b7be3a1bcfff38be8943f589a58198b1/Screen_Shot_2016-11-29_at_9.18.29_AM.png)

</ div>

PermissionChangeオブジェクトを専用の同期されたRealmに保存することで、Realm Object Serverと通信しています。Realm Mobile Platformが提供する「APIとしてのオブジェクト」というアプローチをとても自然に利用しています。PermissionChangeオブジェクトは自動的に同期され、Realm Object Serverは変更を監視し、オブジェクトのステータスを更新します。つまりオブジェクトはAPIとなり、オフラインファーストで、ネットワーク障害を気にする必要がありません。クライアント側で少しコードを書くだけなのです。

新しいAPIの使用方法については、[Realm Object Serverについてのドキュメント](https://realm.io/docs/realm-object-server/#access-control)とCocoaおよびAndroidの関連セクションを参照してください。 そして、無料のDev Editionをダウンロードしてください。クールなアプリやサービスを開発したらぜひ知らせてください。Realmを使ったアプリを楽しみにしています。


Realm Team

At Realm, our mission is to help developers build better apps faster. We provide a unique set of tools and platform technologies designed to make it easy for developers to build apps with sophisticated, powerful features — things like realtime collaboration, augmented reality, live data synchronization, offline experiences, messaging, and more.

Everything we build is developed with an eye toward enabling developers for what we believe the mobile internet evolves into — an open network of billions of users and trillions of devices, and realtime interactivity across them all.

記事の更新情報を受け取る