Backend for Frontend (BFF)
Un backend dedicado por tipo de cliente (web, móvil, smart TV) que adapta el modelo a sus necesidades.
Contexto
Tu API generalista deja a la app móvil haciendo 6 requests para pintar una pantalla, mientras la web necesita campos completamente distintos.
Problema
Una sola API intentando servir a todos termina con endpoints versionados, payloads gordos y workarounds en el cliente.
Solución
Cada cliente tiene su propio BFF que compone llamadas internas y devuelve exactamente lo que necesita.
CSHARP
[Web] → [BFF Web] → [Servicios internos]
[Mobile] → [BFF Mobile] → [Servicios internos]
[TV] → [BFF TV] → [Servicios internos]
Tradeoffs
| Pro | Contra |
|---|---|
| UX óptima por cliente | Más backends que mantener |
| Equipos web/móvil pueden iterar solos | Lógica común a duplicar/extraer |
#architecture #api