Un Backend-for-Frontend (BFF) è un gateway dedicato per tipo di client (web, mobile, partner). Invece di un unico gateway generico che serve tutti i client, ogni frontend ottiene un backend personalizzato alle sue esigenze.
Perché è importante
Un'app mobile e un'app web hanno esigenze diverse di dati, dimensioni di payload e chattiness. Un singolo API generico forza compromessi e over-fetching.
Without BFF: With BFF:
All clients Web ─▶ Web BFF ─┐
│ Mobile ─▶ Mobile BFF ─┼─▶ microservices
one generic API Partner ─▶ Partner BFF ─┘
