Diferencia entre frontend y backend
Tema: tecnología.
El frontend es la parte de una aplicación con la que el usuario interactúa directamente en su propio dispositivo, y el backend es la parte que se ejecuta en el servidor y gestiona la lógica y los datos.
Para recordarlo: el frontend es la sala de un restaurante, donde el cliente ve y elige; el backend es la cocina, donde se prepara todo lo que no se ve desde la mesa.
Tabla comparativa: frontend y backend
| Frontend | Backend | |
|---|---|---|
| Qué es | Parte visible con la que interactúa el usuario. | Lógica, datos y reglas que no se ven directamente. |
| Dónde se ejecuta | En el navegador o la aplicación del dispositivo del usuario. | En el servidor. |
| Responsabilidad | Mostrar información y recoger las acciones del usuario. | Procesar peticiones, aplicar reglas de negocio y guardar datos. |
| Lo que ve el usuario | Directamente: botones, textos, formularios. | Nunca de forma directa, solo el resultado que le devuelve. |
| Ejemplo | El formulario de inicio de sesión. | La comprobación de que la contraseña introducida es correcta. |
Qué es el frontend
El frontend es la capa de una aplicación con la que el usuario ve, toca y responde: los textos, los botones, los formularios, los colores y la disposición de los elementos en la pantalla. Se ejecuta en el propio dispositivo del usuario, casi siempre dentro de un navegador o de una aplicación instalada, y su función principal es mostrar información de forma clara y recoger las acciones que la persona realiza.
El frontend puede validar cosas sencillas, como comprobar que un campo de formulario no está vacío, pero no debería encargarse de decisiones sensibles, porque el código que corre en el dispositivo del usuario puede inspeccionarse o manipularse con relativa facilidad.
Qué es el backend
El backend es la parte de la aplicación que corre en el servidor y que el usuario nunca ve directamente. Recibe las peticiones que llegan desde el frontend, aplica la lógica de negocio, comprueba permisos, consulta o modifica la base de datos y devuelve una respuesta. Es también el lugar donde deben aplicarse las comprobaciones realmente importantes, porque el servidor está bajo control de quien lo administra y no del usuario.
Un mismo backend puede atender a la vez al frontend de una aplicación web, al de una aplicación móvil y a otros programas, siempre que todos ellos se comuniquen siguiendo el mismo protocolo acordado.
Ejemplos que muestran la diferencia
Al iniciar sesión, el frontend recoge el usuario y la contraseña escritos, y el backend comprueba en el servidor si esos datos son correctos.
Cuando una tienda en línea muestra que un producto está disponible, esa cifra la calcula el backend a partir del inventario, y el frontend solo la muestra en pantalla.
Un desarrollador que trabaja solo en frontend se especializa en diseño de interfaces, mientras que uno de backend se especializa en servidores, bases de datos y lógica de negocio.
Cuándo usar cada término
- Usa frontend para hablar de lo que el usuario ve y con lo que interactúa directamente.
- Usa backend para hablar de la lógica, los datos y los procesos que corren en el servidor, fuera de la vista del usuario.
- Recuerda que una misma persona puede trabajar en ambas partes; en ese caso se habla de desarrollo full stack.
Preguntas frecuentes
¿Puede existir una aplicación solo con frontend, sin backend?
Sí, si no necesita guardar datos ni aplicar reglas que dependan de un servidor: una página informativa sencilla puede funcionar solo con frontend, pero en cuanto hace falta iniciar sesión, guardar información o proteger datos, se necesita un backend.
¿Por qué no es seguro validar todo solo en el frontend?
Porque el código del frontend se ejecuta en el dispositivo del usuario, que puede inspeccionarlo o modificarlo; las comprobaciones realmente importantes, como permisos o pagos, deben repetirse siempre en el backend, que está bajo control del servidor.
¿Qué es un desarrollador full stack?
Es quien trabaja tanto en frontend como en backend, capaz de construir la interfaz que ve el usuario y también la lógica y los datos que la sostienen desde el servidor.