Qué es el backend y qué hace en una aplicación
Autor: Redacción Domeny.ForSale Publicado
En breve: El backend es la parte de una aplicación que funciona en el servidor: procesa solicitudes, aplica las reglas del servicio y controla el acceso a los datos. Se encarga, por ejemplo, de comprobar una contraseña, guardar un pedido o facilitar el historial de compras. El usuario no suele verlo directamente, pero utiliza sus funciones a través de una web o una aplicación móvil.
Backend y frontend: ¿cuál es la diferencia?
El frontend es la parte de la aplicación con la que el usuario interactúa directamente: formularios, botones, menús y pantallas que muestran datos. En una web, funciona principalmente en el navegador. El backend recibe las solicitudes enviadas desde el navegador y decide qué se puede hacer con ellas.
En un formulario de inicio de sesión, el frontend muestra los campos para el correo electrónico y la contraseña. El backend comprueba las credenciales y, si el inicio de sesión es correcto, permite reconocer al usuario en las solicitudes posteriores. Mostrar una pantalla con el mensaje «Sesión iniciada» no basta para dar acceso a la cuenta: ese acceso debe controlarse en el servidor.
Esta división no significa que cada proyecto tenga dos aplicaciones independientes. El backend también puede preparar el código de la página que el navegador mostrará después. En otras soluciones, envía principalmente datos y el frontend construye la vista a partir de ellos.
¿De qué se encarga el backend?
La tarea más importante del backend es aplicar la lógica de negocio, es decir, las reglas que determinan cómo funciona el servicio. En una tienda, estas reglas pueden establecer si un cupón de descuento se aplica a un producto; en un sistema de reservas, si la fecha y hora elegidas siguen disponibles.
Entre las tareas habituales del backend están:
- Validación de datos: comprobar si los valores enviados tienen el formato correcto y cumplen las reglas de la aplicación.
- Autenticación y permisos: determinar quién es el usuario y qué información puede ver o modificar.
- Lectura y escritura de datos: consultar productos, actualizar un perfil o registrar un pedido.
- Integraciones: comunicarse con un proveedor de pagos, un servicio de envío de mensajes o un sistema de gestión de almacén.
- Tareas en segundo plano: generar informes o enviar confirmaciones sin bloquear la pantalla del usuario.
La validación en el frontend puede facilitar la cumplimentación de un formulario, pero no sustituye la comprobación de los datos por parte del backend. Es posible enviar una solicitud sin pasar por el formulario, por lo que el servidor no debe confiar sin más en los precios, los identificadores de cuenta o la información sobre permisos que recibe del usuario.
¿Cómo funciona el backend en una compra?
Imagina que compras el último ejemplar de un libro en una tienda online. Tras pulsar «Realizar pedido», la aplicación debe hacer algo más que cambiar el contenido de la pantalla.
- El frontend envía al backend una solicitud con el identificador del producto, la cantidad de unidades y los datos necesarios para el pedido.
- El backend comprueba la disponibilidad del libro y calcula el importe a pagar a partir de datos fiables sobre precios y descuentos.
- Guarda el pedido y controla las existencias para evitar que dos compras simultáneas provoquen la venta del mismo ejemplar a dos personas.
- En una compra habitual con pago online, se comunica con el proveedor de pagos y envía al frontend la información necesaria para el siguiente paso.
- Tras recibir y verificar la confirmación del pago, actualiza el estado del pedido.
Una API, o interfaz de programación, define cómo se realiza esa comunicación: qué solicitudes se pueden enviar y qué forma tienen las respuestas. Un mismo backend puede atender tanto a la tienda en el navegador como a una aplicación móvil mediante una API. Sin embargo, una API no es sinónimo de backend: es una forma de ofrecer acceso a sus funciones.
Backend, servidor y base de datos no son lo mismo
Un servidor puede ser un ordenador que ofrece recursos o un programa que responde a solicitudes. El backend es la parte de la aplicación que funciona sobre esa infraestructura. No tiene por qué estar en un único dispositivo físico: puede utilizar varias máquinas o servicios en la nube.
Una base de datos es un sistema que permite almacenar y consultar información de forma organizada. El backend la utiliza, por ejemplo, para guardar la cuenta de un cliente, pero la base de datos por sí sola no sustituye las reglas que determinan quién puede modificar esa cuenta. Tampoco todos los backends necesitan una base de datos propia: algunos servicios procesan los datos sobre la marcha o los obtienen de otros sistemas.
El backend puede desarrollarse, entre otros lenguajes, en Python, Java, PHP, C# o JavaScript ejecutado en el entorno Node.js. La elección del lenguaje no determina automáticamente la calidad de la aplicación. Al decidir, también cuentan la experiencia del equipo, las bibliotecas disponibles, las integraciones necesarias y los costes de mantenimiento.
¿Cuándo necesitas un backend propio?
Una web sencilla que presenta servicios y datos de contacto puede funcionar sin un backend propio para la aplicación. El alojamiento sigue enviando archivos al navegador, pero no tiene por qué ejecutar una lógica específica para cada visitante. Por su parte, un formulario de contacto puede gestionarse mediante un servicio externo; en ese caso, el proveedor de ese servicio aporta el backend necesario.
Las cuentas de usuario, los documentos privados, las reservas o los procesos de facturación personalizados suelen requerir funciones de backend. Eso no significa que haya que programarlo todo desde cero: una plataforma de comercio electrónico o un sistema de gestión de contenidos pueden ofrecer ya esas funciones. Una solución propia tiene sentido, sobre todo, cuando las herramientas disponibles no permiten aplicar reglas importantes del proyecto.
Antes de encargar una aplicación, haz una lista de los datos que debe almacenar, quién puede modificarlos y con qué servicios debe conectarse. Esa lista permitirá valorar si basta con una plataforma ya existente o si es necesario diseñar un backend propio.
Consulta también: ¿Qué es 2FA?
