BFF (Backend for Frontend)

Architecture 🟡 Mid

Definition

Un backend dedie par type de client (web, mobile, IoT) qui adapte et agrege les donnees des services backend pour les besoins specifiques de chaque frontend.

Analogie

Un assistant personnel par langue : chacun traduit et resume l'information selon les besoins de son interlocuteur.

Exemple de code

// Mobile BFF - donnees legeres
app.get('/api/mobile/feed', async (req, res) => {
  const data = await feedService.get();
  res.json(data.map(toMobileFeedItem));
});

Cas d'usage

Quand le web a besoin de donnees riches et le mobile de donnees legeres.

Anti-pattern

Un seul backend pour tous les clients avec des if/else par plateforme.
#architecture#interview#microservices