Motivation
A large monolithic SPA becomes painful: 5–10 teams edit one repository, deploys are blocked, dependency conflicts arise. Micro-frontends let teams work independently.
Integration approaches
- Build-time integration — npm packages. Simple, but deployment is still coupled
- Runtime via iframe — isolation, but limited interaction
- Web Components — native browser isolation
- Module Federation (Webpack 5) — most popular. Dynamic imports across separate builds
Challenges
- Code duplication (multiple versions of React)
- Consistent UX across teams
- More complex debugging
Justified for large products (5+ teams). For small ones — unnecessary complexity.