私は、ユーザーが写真を共有して評価する iOS ソーシャル ネットワーキング アプリケーションを開発しています。私はここ 1 年ほど、ココア タッチでの開発方法を独学で学んできましたが、今ではアプリのネットワーク機能を使い始める準備ができています。残念ながら、私はネットワークやデータベースの経験がまったくないので、何を考慮すべきか、どこでどのように始めればよいかについて誰か良いアドバイスがあればと思っていました。おそらく、私は自分のサーバーを構築するつもりはなく、代わりにラック スペースのようなものを使用するでしょう。アドバイスをいただければ幸いです。
2 に答える
iOS ネットワーキング アプリケーションの使用を開始します。必要なものは次のとおりです:- MySQL でのバックエンド開発の経験と、複雑なデータベース クエリに加えて、Web サービスの開発経験が本当に必要です。ルートには、レーススペースなどの質問で述べたように、バックエンドと管理モジュール用のサーバーホストが必要です。mysql バックエンド、Web サービス、および管理モジュールの実装に数か月を費やす必要があります。
完全に機能するソーシャル ネットワーキング アプリの場合、最初のタスクはユーザーを管理することです。ログイン/サインアップがあります。すべてのユーザーは、自分のステータスを投稿したり、他のユーザーのステータスにコメントしたりできます。すべてのステータス投稿またはコメントには、一意の ID と、ユーザー ID のテーブルとの関係があります。画像のアップロードや写真へのコメントもあるかもしれません。そのため、バックエンド側には多くのテーブルとそれらの間の関係があります。
ソーシャル ネットワーキング アプリの場合、バックエンド/Web サービス側と iOS 側の両方で作業量が大きくなります。
これはかなり抽象的な質問です。
最終的には、特定のアーキテクチャ (どのデータベース、どのネットワーク テクノロジ) に焦点を当てる必要がありますが、その前に、利用可能なオプションと、それぞれの長所と短所について概要を理解する必要があります。それは。
サーバーデータベースは、それほど大きな違いがないため、おそらく最も簡単です。選択肢は、SQL データベース ( mysql、sqllite ....) ではなく、SQL データベース (メモリテーブル内の nosql) または違いを隠して後で決定できる高レベルの抽象化 (コアデータなど) です。これは、展開の決定によって制限される場合があります。たとえば、LAMP (Linux、Apache、MySql、PHP) を使用する場合は、ラック オプションの選択肢が増えます。Apple キットを使い続けて MacOS X バックエンドを使用している場合は、ネットワーク アーキテクチャに追加のオプションがあるかもしれません (たとえば DistributedObjects.
ネットワーク アーキテクチャも、幅広い選択肢の中から難しい選択です。さまざまな長所と短所を備えた、実際には数十のオプションがあります。これはこの分野への最初の進出であるため、使いやすさとヘルプの利用可能性が優先事項の上位にあると思います。以下に、調査したいと思われるいくつかの一般的なテクノロジーを示します (可燃性を最小限に抑えるためにアルファベット順に並べてあります:))。DistributedObjects (リンゴ)、JAXP、JSON、RPC、SOAP、XML (せっけんビットなしの裸)。
自問すべきもう 1 つの質問は、「データベース接続だけで済むか、それともバックエンドで処理を行う必要があるか」です。可能であれば、リモート データベースを使用するだけで済み、コア データのみを学習する必要があるかもしれません (それでも長時間忙しくなります)。
使用するテクノロジーを決定したら、学習を開始できます。
ホストされたサーバーの使用について言及しました。テスト サーバーをローカルで実行できるようにする必要があります。幸いなことに、データベースとネットワーク テクノロジの両方の価値のあるほとんどすべてのオプションは、UNIX ライクなマシンで実行できるため、おそらく通常の開発マシンを使用できます。
また、これらの選択肢の一部は宗教的なものであるため、読む人は誰でも強い偏見を持っていることに注意してください (私も間違いなく含まれています)。