Situation: Multiple teams are collaborating to create a single, big React app
Situation: Multiple teams are collaborating to create a single, big React app.
How would you handle it?
1. Cross-team monolith - All teams collaborate in a single repo.
2. Microfrontend - Each team owns a separate microfrontend. Share code via npm or monorepo.
3. Shell app - One team owns the "shell". Other teams contribute pieces underneath (either via npm packages, or via monorepo)
Poll:
There are many tradeoffs in this decision.
The monolith is simplest, encourages teams to coordinate regularly (for better or worse).
Microfrontends provide the most team autonomy. Each team can pick their own stack and do their own deployments.
The shell app is a middle-ground between the two. It provides more autonomy than a monolith, yet also avoids the risk for total anarchy that can occur with microfrontends.