Qu'est-ce que Backend pour Frontend
Backend séparé pour chaque frontend
BFF (Backend for Frontend)
Backend for Frontend — un pattern architectural où une couche backend séparée est créée pour chaque type de client (web, application mobile, IoT).
Pourquoi le BFF est nécessaire
| Problème sans BFF | Solution avec BFF | |-------------------|-------------------| | Une API pour tous les clients | API optimisée pour chaque client | | Données excessives dans les réponses | Uniquement les champs nécessaires pour l'UI | | Logique complexe côté client | Agrégation des données côté serveur | | Chargement lent sur mobile | Requêtes et données minimisées |
Architecture
[App Web] → [Web BFF] ↘
→ [Microservices]
[App Mobile] → [Mobile BFF] ↗
Quand utiliser
- Différents clients — web, iOS, Android avec des besoins différents
- Architecture microservices — nombreux services à agréger
- Optimisation des performances — minimisation des données pour mobile
- Équipes indépendantes — équipes frontend et backend séparées
Avantages
- Optimisation pour chaque type de client
- Déploiement indépendant
- Isolation des changements
- Code client simplifié
Inconvénients
- Duplication de la logique entre BFFs
- Nombre accru de services
- Complexité de la synchronisation des changements