API-интерфейс, потребляющий iOS
Я собираюсь разработать приложение для iOS для веб-приложения. (Веб-приложение использует код воспламенитель)
Я собираюсь создать службу API, которую будет использовать приложение iOS.
Я подумываю о создании версии API, поэтому при изменении веб-API приложение для iOS узнает об этом.
проблемы:
Приложение iOS необходимо будет обновить при изменении API веб-приложения (если я не оставлю устаревший API-интерфейс доступным. Это хороший вариант)Если приложение для iOS обновляется, когда API-интерфейс веб-приложения НЕ обновляется, это также вызовет проблемуДолжно ли мое iOS-приложение указывать требуемую версию API?
Если API-приложение для iOS меньше веб-API: Показать сообщение: Пожалуйста, обновите iOS-приложение.Если API-приложение для iOS больше веб-API: Показать сообщение: Пожалуйста, обновите веб-приложениеЭто лучшая практика?
Должен ли я создать класс API для каждой версии, расширить предыдущую версию и переопределить методы при их изменении?
пример
ApiV1 extends CI_Controller
{
function list_customers(){//Code}
function saveSale() {//Code}
}
ApiV2 extends ApiV1
{
function saveSale()
{
//New way of saving sale
}
}
И что произойдет, если я внесу изменения в структуру базы данных, где API v1 больше не будет работать? (Пример, изменили имя таблицы базы данных?)