モバイルアプリ用のサーバーの作成に頭を悩ませています。アプリは非常にシンプルで、地理データやユーザーなどの基本的なものに依存しているので、特別なことは何もありません。
私が答えを見つけられないのは、サーバー/クライアント通信用のWeb-APIに関しては何を使用すべきか、そしてどのリレーショナルデータベースシステムを使用すべきかです。
サーバーの外観と、サーバーの主要部分に使用できるオプション(ほんの一部)についての絵を描いてもらう必要があります。私は未経験のプログラマーではありません。モバイルアプリのサーバーを作成したことがないプログラマーです。
サーバー/クライアント通信用のWeb-APIに関しては何を使用すべきか
/customer/<key>
、/product/<key
)ガイド が役に立ったと思います。
使用すべきリレーショナルデータベースシステム
特定のユースケースとWebフレームワークによって異なります。典型的なオプション:
a。 MongoDB、CouchDBのようなNoSQL-そのままの状態でJSON APIを提供します。データの永続化とクエリ以外のサーバーロジックが必要ない場合は、おそらく良い選択です
b。 MySQL、PostgreSQLのようなSQL-インターネットの主力製品。ウェブフレームワークとの組み合わせでのみ意味があります。私の好み:PythonベースのFlask(ある程度成長するのは難しい)またはDjango(始めるのが少し難しい、簡単に成長する))-選択する言語選択できる言語は他にもたくさんあります。
c。商用BaaS( サービスとしてのバックエンド )、例:解析または 他の多く
サーバーがどのように見えるかについて誰かに絵を描いてもらうだけです
私は次のスタックで十分で前向きな経験をしています。
アプリ: Phonegap / Cordova クロスプラットフォームフレームワークとして、 requirejs および backbonejs アプリをモジュール化する
サーバー: Django with Django-tastypie as the REST API、based on MySQL and in part MongoDB for file and document storage。
この場合、サーバーはデータモデルをPythonクラスとして実装します。これらのクラスは、DjangoのORMによってDBバックエンド(プラグイン可能なバックエンドなので、実際のDBはあまり重要ではありません)にマップされます。モデルと/または、追加のモジュールにビジネスロジックが含まれています。これは、リモートクライアントで使用されるか、サーバー側のビューコードで使用されるかに依存しません。
REST APIはこれらのモデルの上にあり、ほとんどの場合、モデルに1:1でマップするいくつかのtastypieベースのリソースによって提供されます。他の場合、それらはいくつかの中間処理ロジックを提供しますクエリを満たすために複数のモデルが関与しているときのように。
モバイル開発の他の新しいホットネスに対応するアプリケーションを作成するための新しいホットネスであったnode.jsの周りには、チュートリアルタイプの記事がウェブ上に多数あります。私が読んだものでは、mongodbのようなNoSQL DBを使用したいと思っていました。
ただし、概念は同じです。インターネット経由で接続するクライアントにネットワークインターフェイスを公開する、任意の言語でサーバーを記述します。そのため、RESTインターフェース。その後、サーバーはデータベースにデータを保存します。これは、MySQLのようなリレーショナルデータでも、MongoDBのような新しいものでも、それほど重要ではありません。
とてもシンプルです:クライアント->ウェブサーバー-> DB。