Was ist Backend für Frontend
Separates Backend für jedes Frontend
BFF (Backend for Frontend)
Backend for Frontend — ein Architekturmuster, bei dem für jeden Client-Typ (Web, Mobile App, IoT) eine separate Backend-Schicht erstellt wird.
Warum BFF benötigt wird
| Problem ohne BFF | Lösung mit BFF | |------------------|----------------| | Eine API für alle Clients | Optimierte API für jeden Client | | Übermäßige Daten in Antworten | Nur benötigte Felder für spezifische UI | | Komplexe Logik auf dem Client | Datenaggregation auf dem Server | | Langsames Laden auf Mobilgeräten | Minimierte Anfragen und Daten |
Architektur
[Web-App] → [Web BFF] ↘
→ [Microservices]
[Mobile App] → [Mobile BFF] ↗
Wann zu verwenden
- Verschiedene Clients — Web, iOS, Android mit unterschiedlichen Anforderungen
- Microservice-Architektur — viele Services zu aggregieren
- Performance-Optimierung — Datenminimierung für Mobile
- Unabhängige Teams — separate Frontend- und Backend-Teams
Vorteile
- Optimierung für jeden Client-Typ
- Unabhängiges Deployment
- Änderungsisolierung
- Vereinfachter Client-Code
Nachteile
- Logik-Duplizierung zwischen BFFs
- Erhöhte Anzahl von Services
- Komplexität der Änderungssynchronisierung