Nedir Frontend için Backend
Her frontend için ayrı backend
BFF (Backend for Frontend)
Backend for Frontend — her istemci türü (web, mobil uygulama, IoT) için ayrı bir backend katmanı oluşturulan mimari desen.
BFF Neden Gerekli
| BFF Olmadan Sorun | BFF ile Çözüm | |-------------------|---------------| | Tüm istemciler için tek API | Her istemci için optimize API | | Yanıtlarda aşırı veri | Belirli UI için sadece gerekli alanlar | | İstemcide karmaşık mantık | Sunucuda veri toplama | | Mobilde yavaş yükleme | Minimize edilmiş istekler ve veri |
Mimari
[Web App] → [Web BFF] ↘
→ [Mikroservisler]
[Mobil App] → [Mobile BFF] ↗
Ne Zaman Kullanılır
- Farklı istemciler — farklı ihtiyaçları olan web, iOS, Android
- Mikroservis mimarisi — toplanacak çok sayıda servis
- Performans optimizasyonu — mobil için veri minimizasyonu
- Bağımsız ekipler — ayrı frontend ve backend ekipleri
Avantajlar
- Her istemci türü için optimizasyon
- Bağımsız dağıtım
- Değişiklik izolasyonu
- Basitleştirilmiş istemci kodu
Dezavantajlar
- BFF'ler arasında mantık tekrarı
- Artan servis sayısı
- Değişiklik senkronizasyonunun karmaşıklığı