開発者はiCloudを大いに活用したいはずです。しかし、多くの開発者はAppleの同期プラットフォームが非効率的、信頼性が低い、あるいはそれ以上に問題があると感じています。中には、iCloudの同期の不具合がアプリの新バージョンリリースの大きな障害になっていると指摘する開発者もいます。
そして今、同期のパイオニアとして愛されてきたDropboxが、今週発表した新しいDatastore APIで、Appleのクラウドサービスへの直接的な挑戦に挑みました。Dropboxによると、Datastore APIは、構造化データ(「連絡先、ToDoリスト、ゲームの状態」など)をデバイス間、さらにはプラットフォーム間で簡単に同期できるとのことです。iCloudとは異なり、Dropbox Datastore APIはiOS、Android、そしてWebで動作します。
Dropbox の仕組みにより、iCloud に比べてもう一つの大きな潜在的な利点があります。それは、Datastore を使用する開発者が、アプリのテストや構築中に Dropbox のサーバー上の同期データを直接確認できることです。これは、iCloud がこれまで提供できなかったレベルの可視性です。
Macworldは、iCloudと比較したDatastoreについて、複数の開発者に意見を伺いました。期待は様々です。
可能性を見出す
Draftsのような同期対応アプリを開発するAgile TortoiseのGreg Pierce氏は、Dropboxの発表を歓迎している。「この分野に参入する企業が増えるのは喜ばしいですね」。彼はまだDatastoreを少し触っただけだが、「もしそれが約束通りの信頼性で機能するなら、他の同期オプションに比べて真に優れた、非常に便利なAPIになる可能性を秘めている」と述べている。

しかしピアス氏は、「Datastoreは実装がシンプルに見える」ものの、その機能はiCloudのCore Data同期の機能、あるいは本来の機能と直接一致するものではないと述べた。iCloudのCore Data同期機能が動作すれば、アプリは大規模で複雑なデータベースへの変更を確実に同期でき、データセット全体をサーバーにアップロードする必要がなくなる。Datastoreの「適用範囲はより限定的」だとピアス氏は述べた。とはいえ、安定して動作すれば、「多くのアプリにとって魅力的な選択肢となる可能性がある」とピアス氏は付け加えた。
Leaf Hut SoftwareのCharles Perry氏も、Datastoreには将来性があると考えています。「同期は非常に難しい問題です。Appleでさえ、これほどのリソースを投入しても実現できませんでした。しかし、Dropboxはドキュメント同期において確かな実績を誇っています。他社が失敗した分野でも、Dropboxなら成功できるかもしれません。」
曇りの日の雨雲
誰もがピアス氏の慎重な熱意を共有しているわけではない。
Tapbotsのポール・ハッダッド氏はMacworldの取材に対し、データストアAPIについては検討すらしなかったと語った。「あまり気にしていない」と彼は言った。ハッダッド氏によると、これはAppleのコア機能ではないため、「バックグラウンドで動作しない」ため、彼にとって魅力ははるかに低いという。iOS 7でバックグラウンド機能が改善されたとしても、DropboxはiCloudが提供するユビキタスな同期機能に匹敵することはできないだろうとハッダッド氏は述べた。
ハダッド氏はまた、iCloudの導入以来、iOSのリリースごとに同期の仕組みや機能が改善されてきたと指摘した。彼は、この傾向がiOS 7でも続くと楽観視している。
Bare Bones Software の Rich Siegel 氏は、Apple エコシステムの多くの開発者にとって Datastore API が魅力的でないと考える理由はまったく別のものだと指摘し、「OS X 用の SDK が存在しない」ため、「モバイル デバイスの有無にかかわらず、デスクトップ コンピューター間でデータを同期する必要がある開発者にとっては、すぐに使い物にならなくなる」と述べています。
Datastoreの欠点はそれだけではありません。3人の開発者全員が、iCloudではユーザーに新規アカウントの登録を求めないのに対し、Dropboxでは必要とすると述べています。とはいえ、「Dropboxは広く普及しているため、アプリをダウンロードする人は既にDropboxアカウントを持っている可能性が高いため、認証だけで済むでしょう」とピアス氏は述べ、iCloudを基盤としたオプションほど確実性はなく、シームレスでもありません。
Dropbox の機能と機能しないもの

「少なくとも理論上は、Core Dataと組み合わせたiCloudは…リレーショナルデータを扱うための強力なツール、拡張可能なクエリ言語、そしてマルチスレッド環境で作業するためのツールを提供します」とピアス氏は述べた。Datastoreはこうした機能には及ばない。ソートされたクエリ、複数のデータセットからのデータの一部を結合するクエリ、結果のページ分割など、いずれも(少なくとも現時点では)Dropboxが提供する機能の範囲を超えている、ごく基本的なデータベース機能だ。
ピアス氏は、こうした機能は「メモリにすべてを格納できないほど大規模なデータセット」には必須だと述べた。しかし、同氏はさらに、「Dropboxデータストアは小規模なデータセットを扱うアプリにこそ真価を発揮すると思います」と付け加えた。
シーゲル氏も同意見のようで、「開発者がどのサービスを選択するかという問題は、顧客のニーズに最も合った製品を出荷するまでの過程で、開発者の技術的ニーズを満たすものが何かということを中心に考えるべきだと私は思います」と述べた。
ペリー氏によると、Appleが懸念する点があるとすれば、それはDropboxが提供するクロスプラットフォームサポートの多さにあるという。「iCloudは、ユーザーを自社のエコシステムに閉じ込めようとするAppleの試みを象徴している。…Dropboxが主流の同期ソリューションとして定着すれば、ユーザーはAndroidなどの他のモバイルプラットフォーム、あるいはWindowsなどのデスクトッププラットフォームにデータを移行しやすくなるだろう。」
同期の感覚: どの同期サービス開発者が選択するのでしょうか?
「開発者にとって、Dropbox Datastore APIは検討する価値があると思います」とシーゲル氏は述べた。「OS X非対応の製品で、構造化されたキー/値/レコード/テーブルデータベースの同期に関心があり、iOSとAndroidの両方に対応したソリューションを必要としている場合です。」開発者がAppleエコシステムのみをターゲットとしている場合、シーゲル氏によると、iCloudは「プラットフォームベンダー公認のソリューションであり、既存のプラットフォームドキュメントおよびデータストレージAPIとの統合を提供し、OS標準インストールの一部として無料で利用できます」
シーゲル氏は次のように続けた。「Dropboxは SDK で価値あるサービスを提供していますが、これらの追加機能は一部の人にとっては興味深く、多くの人にとって役立つ可能性を秘めていますが、iCloud の代替にはなりません。」
もちろん、アプリをApple以外のデバイスやサービスのウェブサイトと同期させたい場合、iCloudは使えません。ピアス氏は、「ウェブやAndroidベースのクライアントからデータにアクセスできるというDropboxの柔軟性は、多くのアプリにとって魅力的ですが、Appleは提供していません」と述べています。
シーゲル氏はさらにこう付け加えた。「これまでiCloudに取り組んできた人たちは、実際にiCloudを成功させたか、開発の進展を待つか、あるいは代替戦略を考案・実装するかのいずれかです。データストアAPIは有望に見えるかもしれませんが、いずれの場合も、既存の計画を実行している開発者が、今取り組んでいることを中断してデータストアAPIを採用しようとするとは考えていません。」
ペリー氏はさらに、「アプリのニーズがデータストアで満たされ(そして同期もできる)のであれば、少なくとも検討しないのは愚かだと思います。iCloudが約束するほどシームレスな統合にはならないかもしれませんが、DropboxデータストアAPIはiCloudでは実現できないあらゆるビジネスチャンスを切り開きます」と付け加えました。
「最終的には、Dropbox Datastoreは、同期データをどれだけ確実かつ効率的に提供できるかで評価されるでしょう」とピアス氏は述べた。特に「iCloud Core Data(同期)は理論上は素晴らしいように聞こえるものの、実際には期待どおりに機能していないからです。Dropboxがこのプラットフォームを実現し、今後も発展を続ければ、データベース同期分野で真のプレイヤーになれると思います」