web-dev-qa-db-ja.com

モバイルアプリ用のデータベースサーバーには何が必要ですか?

モバイルアプリ用のサーバーの作成に頭を悩ませています。アプリは非常にシンプルで、地理データやユーザーなどの基本的なものに依存しているので、特別なことは何もありません。

私が答えを見つけられないのは、サーバー/クライアント通信用のWeb-APIに関しては何を使用すべきか、そしてどのリレーショナルデータベースシステムを使用すべきかです。

サーバーの外観と、サーバーの主要部分に使用できるオプション(ほんの一部)についての絵を描いてもらう必要があります。私は未経験のプログラマーではありません。モバイルアプリのサーバーを作成したことがないプログラマーです。

4
displayname

サーバー/クライアント通信用のWeb-APIに関しては何を使用すべきか

  1. RESTスタイルのAPI over HTTP(S)を使用します(例:/customer/<key>/product/<key
  2. コンテンツ形式としてapplication/jsonを使用します
  3. ユーザー/ apikey以上のOAuth2承認スキームを使用する
  4. セキュリティコンテキストや適切に構造化されたドキュメントなど、その利点がすべて宣言されているWS */XMLバリアントに当てはまらないでください。 YAGNI

ガイド が役に立ったと思います。

使用すべきリレーショナルデータベースシステム

特定のユースケースと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。

  • 非同期処理は Celery over RabbitMQ によって処理されます。

この場合、サーバーはデータモデルをPythonクラスとして実装します。これらのクラスは、DjangoのORMによってDBバックエンド(プラグイン可能なバックエンドなので、実際のDBはあまり重要ではありません)にマップされます。モデルと/または、追加のモジュールにビジネスロジックが含まれています。これは、リモートクライアントで使用されるか、サーバー側のビューコードで使用されるかに依存しません。

REST APIはこれらのモデルの上にあり、ほとんどの場合、モデルに1:1でマップするいくつかのtastypieベースのリソースによって提供されます。他の場合、それらはいくつかの中間処理ロジックを提供しますクエリを満たすために複数のモデルが関与しているときのように。

4
miraculixx

モバイル開発の他の新しいホットネスに対応するアプリケーションを作成するための新しいホットネスであったnode.jsの周りには、チュートリアルタイプの記事がウェブ上に多数あります。私が読んだものでは、mongodbのようなNoSQL DBを使用したいと思っていました。

ただし、概念は同じです。インターネット経由で接続するクライアントにネットワークインターフェイスを公開する、任意の言語でサーバーを記述します。そのため、RESTインターフェース。その後、サーバーはデータベースにデータを保存します。これは、MySQLのようなリレーショナルデータでも、MongoDBのような新しいものでも、それほど重要ではありません。

とてもシンプルです:クライアント->ウェブサーバー-> DB。

1
gbjbaanb