Svilupperò un'app mobile, che fungerà principalmente da client. Ci sarà un'API sul cloud con cui interagiranno questi client mobili e ci sarà anche un'applicazione web per scopi amministrativi.
Penso che dovrei usare due applicazioni separate per l'API e l'applicazione di amministrazione. I miei pensieri sono:
- Se tengo l'API e le applicazioni di amministrazione come una sola, l'applicazione di amministrazione potrebbe accedere direttamente alle cose dal database, quindi avere prestazioni migliori. Ma questo introdurrà un accoppiamento.
- Se li separo, rimuovo l'accoppiamento, ma questo potrebbe richiedere un pedaggio sulle prestazioni.
Come nota a margine, userò Ruby on Rails per l'API e l'applicazione di amministrazione, indipendentemente dal fatto che li separi o meno.
Queste applicazioni sono sviluppate per noi e forniremo le applicazioni mobili e l'applicazione di amministrazione ai nostri clienti come servizio. I nostri clienti non useranno direttamente le API, ma le nostre applicazioni client lo faranno.
Ho visto alcune domande simili qui, ma parlano principalmente di un'API web e di un'app web consumer, mentre sto parlando solo della combinazione dell'app di amministrazione e dell'API.