スマートフォンとウェブサイト間でデータを転送する最良の方法は?
-
08-07-2019 - |
質問
スマートフォンアプリとウェブサイト間でデータを転送したい。それを行う従来の方法とそうではない方法は何ですか?
これまで私が考えたことは次のとおりです。
- JSON配列文字列として表されるデータを使用した単純なHTTP GET / POST、このバリエーションはパラメーターとして暗号化/圧縮された文字列です。
- Webサービス呼び出し(これが可能かどうかはわかりませんが、推測だけです)
- 2段階の通信:スマートフォンとデスクトップアプリ間のWebサイト間のやり取り)(開発と使用が面倒)
また、スパム/スヌーピングを回避するために何を考慮する必要がありますか?
解決
目標が納得できる場合、セキュリティと開発の容易さ。クライアント(電話)にPOSTを使用してHTTPS経由でサーバーにリクエストを送信します。送信されるデータは、ターゲットシステムで利用可能なライブラリである必要があります。適切な選択肢は、URLエンコードされたパラメーター、XMLおよびJSONです。バイナリプロトコルを避けます。
このアプローチの欠点は、デバイスからWebサービスへのネットワーク接続を使用していることです。ユーザーが計画しているように、利用できないか高価ではない場合があります。 (これは、スマートフォン(iPhone / gPhone / Blackberryなど)の現在の波でそれほど少なくなっています) これはポーリングインターフェースでもあるため、サーバーからハンドセットにデータをプッシュするのは難しく、ユーザーが何らかのアクションを開始することに依存します。
電話プラットフォームによっては、双方向通信にSMSを使用することもできます。ここでの制限は、プライバシー、帯域幅、およびコストです。 SMSは、ユーザー計画に応じてIPデータを送信するのにより高価です。 (および受信する場合もあります)双方向のトリックは、電話アプリケーションにSMSフックを登録することによって実行されます。したがって、特定のSMSを受信すると、アプリケーションを自動的に起動して通知できます。
ターゲットプラットフォームなどの追加情報を投稿してください。さらなるオプションについて議論できます。
他のヒント
最初の2つはほとんど同じものだと思います。やりたいことは、大量のデータを送信する場合はHTTPポスト、データ量が少ない場合はクエリ文字列を使用するGETです。すべて暗号化されていない送信になりますので、HTTPを使用する場合は注意してください。
.NET Compact Frameworkを使用していて、Windows Mobile用に開発している場合、最も簡単なアプローチはWebサービスを使用することです。ただし、.NET Webサービスはすべてを詳細なXMLとしてシリアル化するため、送受信されるデータのサイズが必要以上に大きくなります。 JSONを使用することは、.NET Webサービスを使用する場合でも、データのサイズを削減する良い方法です(トリックはJSONドキュメント全体を単一のパラメーターとして送信することです)。データ転送はおそらくセルラーネットワーク経由で行われるため、転送されるデータのサイズを最小化することは、スマートフォンアプリケーションにとって特に重要です。