Ответ
BFF (Backend for Frontend) — это слой серверной логики, который создается специально под нужды фронтенда. Он упрощает взаимодействие с бэкендом, агрегируя данные, обрабатывая их и предоставляя фронтенду удобный API.
Пример:
// BFF (Node.js + Express)
app.get('/api/user-data', async (req, res) => {
const [profile, orders] = await Promise.all([
fetchUserProfile(req.userId),
fetchUserOrders(req.userId)
]);
res.json({ profile, orders });
});
Фронтенд получает единый эндпоинт вместо нескольких запросов.
Когда использовать:
- Агрегация данных из разных сервисов
- Оптимизация запросов для мобильных устройств
- Кастомизация ответов под конкретный клиент (веб, мобильное приложение)
BFF не заменяет бэкенд, а дополняет его, упрощая работу фронтенда.