Sto cercando di scrivere un sito web aziendale "standard". Con "standard", intendo questo sito esegue il solito HTML5, CSS e Javascript per il front-end, un back-end (per elaborare le cose) e esegue MySQL per il database. È un sito CRUD di base: il front-end rende semplicemente qualsiasi cosa abbia in serbo il database; il backend scrive nel database qualunque sia l'utente che entra e fa qualche elaborazione. Proprio come la maggior parte dei siti là fuori.
Durante la creazione dei miei repository Github per iniziare la codifica, mi sono reso conto che non capisco la distinzione tra back-end front-end, e API . Un altro modo per esprimere la mia domanda è: dove entra l'API in questa immagine?
Ho intenzione di elencare alcuni dettagli e poi le domande che ho - spero che questo ti dia un'idea migliore di quale sia la mia domanda attuale, perché sono così confuso che non conosco la domanda specifica da porre .
Altri dettagli:
- Mi piacerebbe provare il pattern Model-View-Controller. Non so se questo cambi la domanda / risposta.
- L'API sarà RESTful
- Mi piacerebbe che il mio back-end utilizzi la mia API anziché consentire al back-end di imbrogliare e chiama query speciali. Penso che questo stile sia più coerente.
Le mie domande:
- Il front-end chiama il back-end che chiama l'API? Oppure il front-end chiama l'API invece di chiamare il back-end?
- Il back-end esegue semplicemente un'API e l'API restituisce il controllo al back-end (dove il back-end funge da controller definitivo, delegando le attività)?
Sono incoraggiate risposte lunghe e dettagliate che spiegano il ruolo dell'API accanto al back-end di front-end. Se la risposta dipende dal modello di programmazione (modelli diversi dal modello Model-View-Controller), descrivere questi altri modi di pensare all'API. Grazie. Sono molto confuso.