Para obtener una respuesta más detallada, vea En términos simples: código de fondo, código de interfaz y cómo interactúan.
Frontend: cosas que se ejecutan en el navegador, que se basa en HTML / CSS / JS
Backend: cosas que se ejecutan en el servidor, Ruby, PHP, Python, Java, JavaScript / Node, scripts bash, DBMS
- ¿Se puede descifrar todo software?
- ¿Cómo funcionan los sitios de YouTube a MP3? ¿Cómo se podría construir un sitio así? ¿Qué bibliotecas / tecnologías se utilizan?
- ¿Cómo funciona realmente un equipo de desarrolladores en la vida real?
- Arquitectura de software: ¿Qué datos deben y no deben almacenarse en caché?
- Cómo construir un equipo de desarrollo de software altamente efectivo
Hay dos arquitecturas principales hoy que definen cómo interactúan su backend y frontend.
Aplicaciones renderizadas por el servidor
El primero es solicitudes HTTP directas a una aplicación renderizada por el servidor . Este es un sistema mediante el cual el navegador envía una solicitud HTTP y el servidor responde con una página HTML.
Entre la recepción de la solicitud y la respuesta, el servidor generalmente consulta la base de datos y la introduce en una plantilla (ERB, Blade, EJS, Manillares).
Una vez que la página se carga en el navegador, HTML define qué son las cosas, CSS cómo se ven y JS cualquier interacción especial.
Comunicación usando AJAX
AJAX significa A crín sincrónico de J ava S y X ML. Esto significa que el JavaScript cargado en el navegador envía una solicitud HTTP (XHR, XML HTTP Request) desde la página e históricamente obtuvo una respuesta XML.
Hoy en día, las respuestas también se realizan en formato JSON.
Esto significa que su servidor necesita tener un punto final que responda JSON / XML a las solicitudes. Dos arquitecturas para esto son REST y SOAP.
Aplicaciones del lado del cliente (página única)
AJAX le permite cargar datos sin actualizar la página. Esto se ha llevado al máximo con marcos como Angular y Ember. Estas aplicaciones se incluyen, se envían al navegador y cualquier representación posterior se realiza en el lado del cliente (navegador).
Estas interfaces se comunican con el back-end a través de HTTP utilizando respuestas JSON / XML.
Aplicaciones de cliente y servidor
Las aplicaciones React y Ember (y otras) se pueden representar en el servidor (back-end), así como desde el cliente (frontend).
Cuando se configura de esta manera, la aplicación usa tanto AJAX como HTML renderizado por el servidor para comunicar la interfaz de usuario al backend.
Así que eso es un poco largo pero espero que esto tenga sentido :).