オフラインWebアプリを実現するDropboxの新API「Datastore API」。Dropboxは実質的にBaaS市場へ参入した

2013年7月11日

Webアプリケーションをオフラインの状態でも利用できるようにするには、オフラインのときに保存したデータを、ネットワークと接続したときにサーバと同期してくれるAPIが必要です。

しかし、データ同期のプログラムを作るのは非常に面倒です。データの差分だけを取り出して同期するアルゴリズムをどうするか、同期の途中でネットワークが切れたらどうするのか、同期待ちのデータが複数のデバイスに分散されていたら、どれを同期後に上書きするのか、などを解決しなければなりません。

Dropbox - The Datastore API: a new way to store and sync app data - Developer Blog

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の投入が続いて選択肢が広がっていく状態になるはずです。その中からどのプレイヤーが生き残っていくのか、それが見えてくるのはまだ数年かかるのではないでしょうか。

Tags: JavaScript クラウド モバイル

このエントリーをはてなブックマークに追加
ツイート
follow us in feedly





タグクラウド

クラウド / AWS / Azure / Google Cloud
コンテナ / Docker / Kubernetes
クラウドネイティブ / サーバレス
クラウド障害 / 運用・監視

プログラミング言語 / 開発ツール
JavaScript / Java / .NET / WebAssembly
HTML/CSS / Web標準

アジャイル開発 / スクラム / DevOps / CI/CD
ソフトウェアテスト・品質
ローコード/ノーコード開発

データベース / RDB / NoSQL / 機械学習・AI
Oracle Database / MySQL / PostgreSQL
Office / 業務アプリケーション

ネットワーク / HTTP / QUIC / セキュリティ
OS / Windows / Linux / VMware
ハードウェア / サーバ / ストレージ

業界動向 / 働き方 / 給与・年収
編集後記 / 殿堂入り / おもしろ

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本