Ho intenzione di assumere alcune cose su questa domanda.
- Quando dici API, intendi un'API basata su un servizio Web (HTTP / SOAP / Etc).
- Quando si dice CMS, si fa riferimento a un CMS per un sito Web e si dispone della propria API.
La cosa bella di avere un'API, è che può darti che puoi ottenere e inviare dati (JSON / XML / Etc) dal servizio in modo agnostico alla lingua. Qualsiasi sistema in cui è possibile visualizzare pagine Web, significa che ha la capacità di utilizzare un'API HTTP, che è praticamente qualsiasi lingua o framework.
Questo significa che la tua app per android / ios / web ha fondamentalmente due problemi, UX e comunicazione con il tuo servizio web. Assicurarti che il tuo servizio stia facendo il lavoro pesante significa che i tuoi progetti di interfaccia possono essere generalmente "stupidi". In questo modo previene il codice duplicato tra tutti i progetti (DRY).
Sono disposto a dubitare che l'API inclusa nel CMS copra tutte le tue esigenze, quindi ti consiglio di implementare la tua anche per la logica specifica della tua logica aziendale.
Questo evidenzia solo il vantaggio del perché potresti voler fare questo approccio. Meteo o meno queste tecniche sembrano utili per il tuo progetto specifico dipende da te.