オフラインWebアプリを実現するDropboxの新API「Datastore API」。Dropboxは実質的にBaaS市場へ参入した
Webアプリケーションをオフラインの状態でも利用できるようにするには、オフラインのときに保存したデータを、ネットワークと接続したときにサーバと同期してくれるAPIが必要です。
しかし、データ同期のプログラムを作るのは非常に面倒です。データの差分だけを取り出して同期するアルゴリズムをどうするか、同期の途中でネットワークが切れたらどうするのか、同期待ちのデータが複数のデバイスに分散されていたら、どれを同期後に上書きするのか、などを解決しなければなりません。
Dropboxが発表した新API「Datastore API」は、オフラインに対応し、データを自動的に同期してくれる機能を備えています。オフラインWebアプリケーション普及のための道具が揃いつつあるのです。
オフラインWebのためのAPI。データのコンフリクトも自動解決
Dropboxはファイルをクラウドに保存し、PCやタブレット、スマートフォンなどで参照できるサービスとして人気があります。これまで同社は、ファイル単位でクラウドとPCやモバイルデバイスを同期するAPIを提供していました。
今回発表されたDatastore APIはファイル単位ではなく、キーとバリューのような構造化データに対応しています。
With the Datastore API, structured data like contacts, to-do items, and game state can be synced effortlessly. Datastores work across platforms, offline, and even support automatic conflict resolution.
Datastore APIでは、コンタクトリスト、ToDoリスト、ゲームのセーブデータのような構造化データを簡単に同期できます。Datastoreはクロスプラットフォームで動作し、オフラインに対応、さらに自動的にデータの齟齬(コンフリクト)も解決します。(Datastore API (beta)の説明より)
Datastore APIのSDKはiOS、Android、そしてJavaScriptに対応しており、Webアプリケーションからモバイルアプリまで対応可能です。
Publickeyで今年2月に掲載した記事「2014年にはWebアプリの「オフラインファースト」が流行するのではないか?」では、html5j.orgの世話人である白石俊平氏が「最近ではBaaSがでてきていますが、ああいったものからオフラインWeb対応のAPIやSDKが出てくると思います。このSDKを使えば自動的に同期されますよ、といったもの。BaaSをさくっと使っちゃえ、ということになって2014年頃にオフラインWeb大流行、ということになるのではないかと思います。」と予想していました。
しかしBaaSよりも先に、DropboxがそのAPIをリリースしたことになります。
ただし、いまのところDropboxのDatastore APIでは自分の領域にしかデータを同期することができないようで、例えばゲームのプレイヤー全員のハイスコアをサーバのデータベースに集めてトップスコアを各人に戻す、といったことはできないようです(試していないのですが、ドキュメントを読む限りでは)。
これはもともとDropboxが個人のファイルをクラウドに同期するサービスから始まったことを考えれば当然のことなのかもしれませんが、ファイルでは共有機能が備わっていることから、Datastore APIも今後はそうした共有データベース的な機能へと発展していくことは考えられます。
BaaSの市場はプレイヤーもSDKもまだまだ選択肢が広がっていく
モバイル向けのバックエンドサービス、いわゆるBaaSは、ParseやCocoafish、国内ではAppiariesやKiiクラウドなど多くのスタートアップが登場し、その一部はFacebookやAppceleratorに買収され、あるいはWindows AzureやGoogle App Engineなどの大手がBaaS用のSDKをリリースして参入するなど市場はまだ流動的です。そこへ、これまで別の分野のプレイヤーだと考えられていたDropboxが事実上参入することになりました。
BaaSはデータ同期のAPIを見ても、あるいは認証などのAPIを見ても、まだまだ発展の余地が相当にあります。これからも新しいプレイヤー、新しいAPI、新しいSDKの投入が続いて選択肢が広がっていく状態になるはずです。その中からどのプレイヤーが生き残っていくのか、それが見えてくるのはまだ数年かかるのではないでしょうか。
あわせて読みたい
日本IBM、DevOps推進で専門の支援部隊を設立。継続的デリバリツールの「UrbanCode」をリリース
≪前の記事
7月と8月はPCが故障しがち。ツートップ、フェイスなどの修理調査データ公開