Qué es Backend para Frontend
Backend separado para cada frontend
BFF (Backend for Frontend)
Backend for Frontend — un patrón arquitectónico donde se crea una capa backend separada para cada tipo de cliente (web, aplicación móvil, IoT).
Por qué se necesita BFF
| Problema sin BFF | Solución con BFF | |------------------|------------------| | Una API para todos los clientes | API optimizada para cada cliente | | Datos excesivos en respuestas | Solo campos necesarios para UI específica | | Lógica compleja en el cliente | Agregación de datos en servidor | | Carga lenta en móviles | Solicitudes y datos minimizados |
Arquitectura
[App Web] → [Web BFF] ↘
→ [Microservicios]
[App Móvil] → [Mobile BFF] ↗
Cuándo usar
- Diferentes clientes — web, iOS, Android con diferentes necesidades
- Arquitectura de microservicios — muchos servicios para agregar
- Optimización de rendimiento — minimización de datos para móviles
- Equipos independientes — equipos frontend y backend separados
Ventajas
- Optimización para cada tipo de cliente
- Despliegue independiente
- Aislamiento de cambios
- Código cliente simplificado
Desventajas
- Duplicación de lógica entre BFFs
- Mayor número de servicios
- Complejidad de sincronización de cambios