Web アプリケーション用の iOS アプリを開発します。(Web アプリはコード イグナイターを使用します)
iOS アプリが使用する API サービスを作成します。
api版を作ろうと思っているので、web apiが変わるとiOSアプリが知るようになります。
懸念:
- Web アプリケーション API が変更された場合、iOS アプリを更新する必要があります (レガシー API を利用可能にしておく場合を除きます。これは適切なオプションですか)。
- Web アプリ API が更新されていないときに iOS アプリが更新されると、これも問題の原因となります
iOS アプリは、必要な API のバージョンを指定する必要がありますか?
- iOS アプリの API が Web API 未満の場合: 表示メッセージ: iOS アプリを更新してください
- iOS アプリ API が Web API より大きい場合: 表示メッセージ: Web アプリを更新してください
これはベストプラクティスですか?
バージョンごとに api クラスを作成し、以前のバージョンを拡張してメソッドが変更されたときにメソッドをオーバーライドする必要がありますか?
例
ApiV1 extends CI_Controller
{
function list_customers(){//Code}
function saveSale() {//Code}
}
ApiV2 extends ApiV1
{
function saveSale()
{
//New way of saving sale
}
}
また、v1 API が機能しなくなるデータベース構造に変更を加えるとどうなりますか? (例:データベースのテーブル名を変更?)