私の将来のあるプロジェクトのために私が持っている次の計画についてアドバイスを求めています。
- 大きな絵
- Webサイトからデータベースにクエリ(読み取り/書き込み)してその結果を表示するモバイルクライアント(iOS、Android、Windows Phoneなど)を作成したいと思います。
- プラス他のいくつかの機能...
クライアントからデータベースに直接アクセスする(Webサーバーをバイパスする)ことは、特にインターネット上では悪い考えであることを私は知っています。私はほとんどの共有ウェブホスティングプランがとにかくこれを禁止していると思います。だからここに私の意図した解決策があります...
- モバイルクライアントは、API呼び出しを介してデータをWebサーバーに送信します。
- WebサーバーはRESTAPI呼び出しを処理し、データベースにクエリを実行します。Webサーバーは、モバイルクライアントとデータベースサーバー間のミドルウェアとして機能します。
- Webサーバーは、DBクエリから結果を受け取り、それらをモバイルクライアントに渡します。
- モバイルクライアントは、クライアント側でデータを表示/操作します。
APIの使用経験は、Twitter、Instagram、およびGoogleショッピングAPIの使用に限定されています。私の経験から、モバイルとWebサーバー間でJSON形式でデータを転送するのが最善のようです。
さて、ここに私の懸念があります...
- ログインしたユーザーのみがAPIを使用できるようにするにはどうすればよいですか?OAuthは解決策ですか?
- REST APIの場合、RESTfulの方が良いですか?
ウェブサイトの現在の環境はPHPとMySQLとの共有ホスティングですが、将来的にはクラウドベースのサービスに移行することを考えています。CodeIgniterまたはCakePHPまたはApifyのいずれかを使用してミドルウェアを実装することを計画しています。
誰かが私の計画を上記で批評したり、私の頭の中にあるものよりも優れた代替案を提示したりしていただければ幸いです。
前もって感謝します。