↓ Ir para o conteúdo principal

← todas as notas

📎 Webclip

Discussing Backend For Front-end

The post argues that simple webapp architectures break down when mobile clients and multiple integrations need different data shapes. Returning everything is inefficient because clients have limited screens and bandwidth, while microservices make client-specific filtering costly across many services and many client types.

BFF is presented as a dedicated layer that fetches data from the needed microservices, extracts only what matters, aggregates it, and returns it in the format each client needs. The same team owns the client and its BFF, and the implementation can be a separate deployment unit or part of an API gateway.

Reading notes
#

  • Mobile clients and integrations increase architectural complexity because each client needs a different subset of data.
  • Over-fetching is a poor fit for phones because screen space and bandwidth are limited.
  • With microservices, making every service adapt responses for every client becomes expensive and hard to manage.
  • BFF moves filtering and aggregation into a dedicated layer between clients and microservices.
  • The team responsible for the front-end is also responsible for its BFF.
  • A BFF can be deployed separately or implemented inside an API gateway configuration.
  • BFF reduces coupling between microservices and clients, although it adds system complexity.