BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Realm Mobile Platform、データ同期とイベントハンドリングを備えたリアクティブなモバイルアプリを実現する

Realm Mobile Platform、データ同期とイベントハンドリングを備えたリアクティブなモバイルアプリを実現する

原文(投稿日:2016/10/01)へのリンク

Realmが新しいモバイル開発プラットフォームを発表した。シームレスなリアルタイムの同期、コンフリクトの解決、リアクティブなイベントハンドリングを提供する。加えて、彼らのクライアントサイド・データベースが完全にオープンソース化された

Realm Mobile Platformは、Realm Mobile Databaseを新しいRealm Object Serverと統合したもので、iOS、Android、watchOSを含む複数のモバイルデバイスプラットフォームにわたってその機能を提供する。

Realm Mobile Databaseで重要なところのひとつに、オブジェクトグラフマネージャーがある。AppleのCore Dataのように、アプリのモデルに対する直接的な表現を提供することを狙っている。Realm Object Serverはライブオブジェクトの抽象化を提供することで、その哲学をさらに広げる。Realmによると、プログラマがネットワークコードを書く必要なしに、異なるデバイス上のオブジェクトをシームレスかつ自動的に同期し続けるという。これによって実現される基本機能が、自動コンフリクト解決だ。共有ライブオブジェクトに対して、競合する変更が同時に送信されたとき、これが必要になる。コンフリクトの解決に対するRealmのアプローチは、確固たる最終的な一貫性の提供を目指したものだ。異なる順序で変更を適用しても、両者が常に同じ結果になることを保証する。これは次のような基本ルールによって達成される。

  • オブジェクトが削除されると、たとえ別のデバイスがそのオブジェクトを後で更新しても、オブジェクトは削除されたままである。
  • 2つのデバイスが同じプロパティを更新すると、最後の変更が勝つ。
  • 2つのデバイスがリスト末尾にアイテムを追加すると、挿入時間にしたがって2つのアイテムが付け加えられる。

Realmによると、自動コンフリクト解決のおかげで、開発者はネットワークの切断や中断があっても適切に機能するようなアプリを簡単に作ることができるという。

Enterprise Editionでしか使えないが、Realm Mobile Platformのもうひとつ興味深い機能に、イベントハンドリングがある。サーバーに伝わると即座にオブジェクトの状態変化によってトリガーされる、サーバーサイドのハンドラを定義することができる。これはServerlessアーキテクチャを実装したアプリの設計も可能にする。

Realm Object Serverはオンプレミスにもデプロイできるし、AWSやAzureといったパブリッククラウドで実行することもできる。Mobile Platformは、フリーのDeveloper Editionと、イベントハンドリングも含む有料のEnterprise Edition、2つのプランで提供される。

 
 

Rate this Article

Relevance
Style
 
 

この記事に星をつける

おすすめ度
スタイル

BT