0

MySQL データベースを使用し、ユーザーに Web ベースのインターフェイスを提供するジャーナリズム関連の Web アプリケーションがあります。

モバイル インターフェイスも備えた iOS アプリを作成したいと考えています。UI は非常に簡単で、私はその経験があります。

問題は、私が経験したことのないデータベースにあります。データベースについて学び、おそらく Coursera コースを受講します。それを教えてくださいと言っているわけではありません。今後数か月間、どのテクノロジーに時間を投資すべきかを知りたいだけです.

これまでのところ、アプリはデータベースと直接やり取りするべきではなく、アプリに代わってデータベースとやり取りするサーバーが必要であると理解しています。

これが質問であり、明確に理解したい部分なので、間違っていたら訂正してください。

サーバー上で実行され、データベースと通信してからアプリと通信する何らかのUNIXプログラムを作成する必要がありますか? どうやって?Web ビューを使用していますか? Unix ソケットを使用してアプリと通信しますか? ssh? Appleとどっちがかっこいい?

サーバーでそのようなものを書くことに対する私の好みは、python(経験がある)、java(経験がある)、そしておそらくruby(経験がない)です。スクリプト言語は避けたいと思います。

彼らは大丈夫ですか?どれが最も適していますか?また、この中間の男は、データベースを持っている同じサーバーにいる必要がありますか、それともインターネット上の別のマシンにすることができますか (私はこれを好むので、自分の VPS に置くことができ、台無しにする必要はありません)サーバーマシン)

4

1 に答える 1

1

これは今夜の別の質問に似ていますが、別の角度から考えています。

一般的に、オフライン モードで実行できる必要がある iOS アプリケーションには、独自のデータベースが必要です。これは、アプリケーションが必要とするすべてのデータを格納するコア データ モデルを作成することを意味します。内部的には、これは SQLite データベースに保存されます。

オンライン専用のアプリケーションを作成する場合は、Core Data 部分を気にする必要がなく、代わりにサービス API の構築に集中できるため、多少簡単になります。Python に精通している場合は、 Djangoでそのレイヤーを提供するのが最善の策です。リクエストを受信し、それを適切なデータベース呼び出しに変換し、結果を機械可読形式でレンダリングできるエンドポイントをいくつか実装する必要があります。

スクリプト言語は、大規模なシステムであっても、ほとんどのバックエンドを強化するものです。ほとんどの場合、ボトルネックになるのはデータベースであり、インターフェースに使用される言語ではありません。Twitter でさえ、数千万のアクティブ ユーザーに到達するまで Ruby を使い続けたので、そのレベルでない限り、心配する必要はありません。

ほとんどのアプリケーションでは、トランスポート メカニズムとして HTTP を使用し、エンコード方法としてJSONを使用する方法が適しています。構成は非常に簡単で、使用も簡単で、かなり読みやすいです。これを読んだり書いたりする方法はおそらくいくつかありますが、それは別の問題です。

ユーザー数が数百に及ぶ小規模なアプリケーションの場合、アプリケーションとデータベースを同じサーバーでホストできます。512MB のメモリを備えた適度な VPS でさえも機能する可能性がありますが、負荷が重い場合は 1GB のインスタンスに投資することをお勧めします。これは、ユーザーがアプリケーションにアクセスする頻度と、ピーク負荷がどのようなものかによって大きく異なります。

于 2013-01-30T05:59:22.243 に答える