Architektura
Pokročilý
Backends for Frontends (BFF)
BFF pattern: separátní backend pro každý typ klienta. Web, mobile, IoT — každý má jiné potřeby.
Problém jednoho API
Mobile potřebuje jiná data než web. Jedno API = over-fetching, under-fetching, kompromisy.
Architektura
Web UI → Web BFF → [Order Service, User Service, Analytics]
Mobile → Mobile BFF → [Order Service, User Service]
IoT → IoT BFF → [Telemetry Service]
Příklad
// Web BFF — plná data
app.get('/api/dashboard', async (req, res) => {
const [orders, stats, notifs] = await Promise.all([
orderService.getRecent(20),
analyticsService.getDashboard(),
notificationService.getUnread()
]);
res.json({ orders, stats, notifs });
});
// Mobile BFF — optimalizovaná odpověď
app.get('/api/dashboard', async (req, res) => {
const orders = await orderService.getRecent(5);
res.json({ orders: orders.map(o => ({ id: o.id, status: o.status })) });
});
Shrnutí
BFF je správná volba s více typy klientů. Každý BFF ideálně vlastní tým vyvíjející daný frontend.
Potřebujete pomoct s implementací?
Náš tým má zkušenosti s návrhem a implementací moderních architektur. Rádi vám pomůžeme.
Nezávazná konzultace