4

アプリがそのデータ モデルを Web アプリケーションと同期する必要がある新しい iPhone アプリケーションの開発を開始しています。このような作業を試みたのはこれが初めてです。

内部データ モデルはかなり単純です。少数のエンティティと 2 対多のマッピングです。

サーバー側を処理するためのさまざまなオプションを検討してきましたが、Windows Azure と Sync Service Framework を調査した結果、頭がおかしくなりました。誰かが私のために物事を片付けるのを手伝ってくれることを願っています.

1) Windows Azure でホストされ、Microsoft の同期サービスを統合するスケーラブルな Web アプリケーションを作成することは可能ですか? Azure が提供できるサービスと、独自のサーバーにインストールする必要があるサービスとの間で混乱しています。誰かが私に正しいページを教えてもらえますか? 現時点で私が見つけることができる唯一の Sync Service のものは、Windows ボックスに Sync Services をインストールする必要があるため、かなり混乱しています。

2) Azure で Web サービスをセットアップし、基本的なデータベース (コア データ、SQLite など) を同期できる iOS SDK + サンプルはありますか。

3) 上記が可能であると仮定すると、このデータにアクセスできる Web アプリをホストするにはどうすればよいでしょうか。

最後に、AWS は同様のものを提供していますか。SimpleDB のオファリングとサンプル iOS アプリを発見しましたが、SimpleDB の将来は漠然としているように見え、それを中心にアプリを開発したくありません。

Google App Engine も調べましたが、開始点を提供する同期フレームワークが見つかりません。インディー デベロッパーとして、自分のロールアウトに必要な時間を費やすことはできません。

ありがとう、

ティム

4

1 に答える 1

4

最近、Windows Azure とマルチ プラットフォーム クライアントで同期システムを実装しました。

  • クライアントは WP7、iOS、Android です
  • データはWindows Azure テーブル ストレージに保存されます
  • ASP.NET Web APIを使用して、同期用の共通 A​​PI を公開します (変更のアップロードとダウンロード、完全なリセットの要求、認証など)。
  • すべてのクライアントは、ローカル永続性のために SQLite を使用し、JSON を使用して ASP.NET Web API とやり取りします。

同期システムの柔軟性が制限されるように思われたため、同期フレームワークを使用しないことにしました。何百万ものデバイスをサポートしているため、テーブル ストレージの機能を使用してカスタム同期を実装することにしました (たとえば、ユーザーごとのパーティションを使用)。

いずれにせよ、SDK の新しい更新により、API (.NET またはその他の言語) を作成し、信頼できる実行方法でデータを永続化することが簡単になります (Table Storage、MongoDB など)。 .

2番目の質問に答えるために、これを行う完全な例があるかどうかはわかりませんが、これで始めることができます:

  1. iOS 上の SQLite: http://www.techotopia.com/index.php/An_Example_SQLite_based_iOS_4_iPhone_Application
  2. iOS の JSON: http://stig.github.com/json-framework/
  3. ASP.NET Web API および iOS: http://www.youtube.com/watch?v=_m9kEI3s3-k
  4. テーブル ストレージのチュートリアル: https://www.windowsazure.com/en-us/develop/net/how-to-guides/table-services/

これらすべてをホストするには、Windows Azure サブスクリプションが必要です。

  • API をホストするためのシンプルな Web サイト (現時点では無料) から小さく始めることができます: https://www.windowsazure.com/en-us/home/scenarios/web-sites/ (サービスが人気を博したら、 Web/Worker ロールにアップグレードします)。
  • ストレージ アカウント(使用した分だけ支払います。90 日間限定の無料ストレージを提供する試用版を試してみてください)。

ASP.NET 以外の Web API 実装を選択する場合は、新しい機能のおかげで Mac からすべてを行うこともできます: http://blogs.msdn.com/b/interoperability/archive/2012/06/07 /windows-azure-command-line-tool-for-mac-and-linux.aspx

于 2012-06-08T12:44:04.017 に答える