0

私の友人はすでに自分のウェブサイトを持っています (何かを売っています)。より多くの人を引き付けるために、サイト用のiOS アプリを作成するというアイデアがあります(私にとっては、どうしても必要な経験を積むためです)。

UIはシンプルになり、Web サイトのデータを使用する場合ほど多くの問題は発生しません。インターネットにアクセスできない人がアプリを使用できるように、アプリがローカルにデータを保持する必要があります。

しかし、もちろん、アプリ内の情報を最新の状態にしたいので、何らかの方法でMySQLデータを使用する必要があります (つまり、その人がインターネットにアクセスできる場合、アプリはそれを使用してデータをダウンロードできます)。 、そうでない場合 - アプリには表示するデータが含まれている必要があります)。正直、いいアプリにしたいので質問なんですが、どんな組み合わせがいいの?

  1. コアデータを利用するには、データモデルを作成します(巨大で再現が難しい、作成するクラスが多い)。できますが、データを更新するにはどうすればよいですか?=) わからない。
  2. sqliteデータベースを作成するには、 phpコードのようなものを使用して get を挿入し、データをjsonにエンコードしてから解析します。
  3. 同じデータをローカルに持つことは不可能なので、アプリから直接MySQLに接続してそのデータを使用する必要がありますか?
  4. それとも、jsonまたはxmlを使用して解析するだけですか?

みんな助けてください。アプリをクールで堅牢にする必要がありますが、その方法がわかりません。多分あなたはそのような問題を解決するためのより良い方法を教えてもらえますか??

4

1 に答える 1

3

通常、SQLiteを使用してアプリケーション内に同様のデータベースを構築し、何らかのAPIブリッジを介してMySQLからデータをインポートする必要があります。このデータ交換を行う簡単な方法は、レコードの属性をエンコードするJSONを使用することです。XMLも可能なトランスポートメカニズムですが、オーバーヘッドが大きくなる傾向があり、使用するのが難しくなります。前後に送信するのは、通常、ドキュメント全体ではなく、キーと値のペアのセットです。

他のものを使用する非常に正当な理由がない限り、コアデータに固執します。それがイライラしたり違うと感じるのは良い理由ではありません。最初はコツをつかむのは少し難しいかもしれませんが、実際には、正しく使用すればほとんど目立たない傾向があります。

明示的にMySQLクライアントであるものを作成している場合を除き、iOSアプリケーションでMySQLに直接接続しないでください。限目。これを行うことさえ考えないでください。効果的にセキュリティを確保することは不可能であるだけでなく、iOSネットワークは非常に信頼性が低く、低速であり、多くの場合完全に利用できないことが予想されます。アプリケーションは、限られた帯域幅を利用し、非常に高いレイテンシーを処理し、操作を、失敗する可能性のある1つの長時間実行操作ではなく、成功する可能性のある小さなトランザクションに分割できる必要があります。

データベースとクライアント間でデータをどのように同期しますか?これは、使用するWebスタックによって異なります。ここには多くのオプションがありますが、少なくとも、Ruby on Rails、Django、NodeJSなどでプロトタイプを作成する必要があります。PHPは実行可能ですが、データベースフレームワークがないと、すぐに非常に厄介になります。

于 2013-01-30T01:54:31.233 に答える