2

この質問では、コンテンツの種類はそれほど重要ではありませんが、複数のユーザーが共有リストで共同作業できる (ネイティブ モバイル) ショッピング リスト アプリを実装したかったとしましょう。

通常、このような同期機能はどのように実装され、自動的に (明示的なユーザー操作なしで) 機能しますか? 新しいバージョンを確認し、必要に応じて更新するために数秒ごとにプルするのが好ましい方法ですか、それとも変更をプッシュすることは可能ですか?

ポーリング ソリューションは (比較的) 簡単に実装できます。AWS や Google App Engine などを使用するか、LAMP スタックと REST をゼロから使用することもできます。しかし、継続的なポーリングによるトラフィックが心配です。

プッシュ更新を使用してこれを実装しようとすることは実用的でしょうか? もしそうなら、どのような技術、サービス、または設計原則を調べる必要がありますか? AWS や Google App Engine でこのようなことは可能ですか? それとも、引っ張る (そして可能な限りトラフィックを減らす) ことでしょうか?

4

2 に答える 2

2

アプリ エンジンでは、チャネル API を調べる必要があります。概要から:

Channel API は、アプリケーションと Google サーバーの間に永続的な接続を作成し、アプリケーションがポーリングを使用せずにリアルタイムで JavaScript クライアントにメッセージを送信できるようにします。これは、新しい情報についてユーザーをすぐに更新するように設計されたアプリケーションや、ユーザー入力がすぐに他のユーザーにブロードキャストされるアプリケーションに役立ちます。例としては、コラボレーション アプリケーション、マルチプレイヤー ゲーム、チャット ルームなどがあります。一般に、人間のユーザー間で情報を中継する場合や、体系的に生成されていないイベントからの情報を中継する場合など、更新を予測またはスクリプト化できない状況では、ポーリングよりもチャネル API を使用する方が適しています。

于 2013-01-21T00:48:16.097 に答える
0

いくつかのアマゾンウェブサービスを使用して、効果的でレスポンシブなサービスを作成できます。

AWSサイトからダウンロードできるIOSSDKをチェックアウトすると、そのようなサービスを使用しているサービスの例を見つけることができます:S3_SimpleDB_SNS_SQS_Demo

まず、キューイングサービスであるSQSを使用できます。これは、リクエストの数を減らすのに役立つ長いポーリングを備えています。

次に、通知(pub / sub)サービスであるSNSを使用できます。SQSと統合されており、キューをサブスクライブして通知をリッスンできます。

これらのサービス(およびその他のサービス)には、iOS SDK、および他のSDK(Java、.NET、Android ...)、RESTおよびSOAPAPIを介してアクセスできます。

于 2013-01-21T20:53:58.490 に答える