Estoy tratando de escribir un sitio web comercial "estándar". Por "estándar", quiero decir que este sitio ejecuta el HTML5, CSS y Javascript habituales para el front-end, un back-end (para procesar cosas) y ejecuta MySQL para la base de datos. Es un sitio CRUD básico: el front-end simplemente hace bonito lo que la base de datos tiene en la tienda; el backend escribe en la base de datos lo que sea que ingrese el usuario y realice algún procesamiento. Al igual que la mayoría de los sitios por ahí.
Al crear mis repositorios de Github para comenzar a codificar, me di cuenta de que no entiendo la distinción entre el front-end back-end y la API . Otra forma de formular mi pregunta es: ¿ dónde entra la API en esta imagen?
Voy a enumerar algunos detalles más y luego las preguntas que tengo; espero que esto les dé una mejor idea de cuál es mi pregunta real, porque estoy tan confundido que no sé la pregunta específica que hacer.
Algunos detalles más:
- Me gustaría probar el patrón Modelo-Vista-Controlador. No sé si esto cambia la pregunta / respuesta.
- La API será RESTful
- Me gustaría que mi back-end use mi propia API en lugar de permitir que el back-end haga trampa y llame a consultas especiales. Creo que este estilo es más consistente.
Mis preguntas:
- ¿El front-end llama al back-end que llama a la API? ¿O el front-end solo llama a la API en lugar de llamar al back-end?
- ¿El back-end solo ejecuta una API y la API devuelve el control al back-end (donde el back-end actúa como el controlador final, delegando tareas)?
Se alientan las respuestas largas y detalladas que explican el papel de la API junto con el back-end front-end. Si la respuesta depende del modelo de programación (modelos que no sean el patrón Modelo-Vista-Controlador), describa estas otras formas de pensar en la API. Gracias. Estoy muy confundido.