BT

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

| 作者: Sergio De Simone フォローする 17 人のフォロワー , 翻訳者 笹井 崇司 フォローする 0 人のフォロワー 投稿日 2016年10月25日. 推定読書時間: 2 分 |

原文(投稿日: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
 
 

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT