Přeskočit na obsah
_CORE
Architektura Pokročilý

Backends for Frontends (BFF)

BFFAPI GatewayFrontend
3 min čtení

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