iOS consumindo o design da API
Eu vou desenvolver um aplicativo iOS para um aplicativo da web. (O aplicativo da web usa o código igniter)
Eu estou indo para criar um serviço de API que o aplicativo iOS irá consumir.
Estou pensando em criar uma versão da API, então quando a API da web mudar, o aplicativo para iOS saberá.
Preocupações:
O aplicativo iOS precisará ser atualizado quando a API do aplicativo da web for alterada (a menos que eu mantenha a API legada disponível ... isso é uma boa opção)Se o aplicativo iOS for atualizado quando a API do aplicativo da Web NÃO estiver atualizada, isso causará um problema tambémMeu aplicativo para iOS deve especificar a versão da API necessária?
Se a API do aplicativo para iOS for menor que a API da web: Exibir mensagem: atualize o aplicativo para iOSSe a API do aplicativo para iOS for maior que a API da web: Exibir mensagem: atualize o aplicativo da webEssa é a melhor prática?
Devo criar uma classe api para cada versão e estender a versão anterior e substituir os métodos quando eles forem alterados?
Exemplo
ApiV1 extends CI_Controller
{
function list_customers(){//Code}
function saveSale() {//Code}
}
ApiV2 extends ApiV1
{
function saveSale()
{
//New way of saving sale
}
}
Além disso, o que acontece se eu fizer uma alteração na estrutura do banco de dados em que a v1 api não funcionará mais? (Exemplo, mudou o nome de uma tabela de banco de dados?)