3 ways to scale a frontend across teams: 1


3 ways to scale a frontend across teams:

1. Micro-frontend - Each team owns a vertical slice

2. Separate apps - Each team owns separate pages on different URLs

3. Shell app - Shell app composes components contributed by separate teams (typically via npm/monorepo)
These strategies have tradeoffs.

Micro-frontends and separate apps:
✅ Full autonomy
❌ Can hurt performance, consistency, and inhibit code reuse.

Shell apps:
❌ Less team autonomy
✅ Continuously integrates the app's code, improves perf, aids code reuse, enforces consistency
What makes a shell app different: It enforces using a single tech stack, because ultimately, a single compiled app is deployed.

A shell app allows separate teams to contribute using a standardized tech stack. Using the same tech stack saves bandwidth and fosters code reuse.

View original on X