Писал ли BFF

«Писал ли BFF» — вопрос из категории Архитектура, который задают на 10% собеседований Frontend Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

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 не заменяет бэкенд, а дополняет его, упрощая работу фронтенда.