Microfrontends
The idea behind Microfrontends is to think about a website or web app as a composition of features which are owned by independent teams. Each team has a distinct area of business or mission it cares about and specialises in. A team is cross functional and develops its features end-to-end, from database to user interface. Demo app
Why?
With micro frontends, you can upgrade, update, or even rewrite parts of the frontend more smoothly than was previously possible.
- Better scalability
- Faster development, as teams can work independently
- You can use multiple frameworks in your application
- Deployment independence
Aspects
- Feature Flags
- Why Module Federation?
- Asynchronous Loading
- Error Handling
- Server Setup
- Sharing Functions
- Nomenclature
- Sharing State
- Sharing the JWT
- Sharing the Cart
- State Sharing Alternatives
- Finishing the Cart
- Cross-Platform Micro-Frontends
- Micro-Frontend Routing
- Unit Testing
- End-To-End Testing
Dev Stack
Links
- Monorepos and React Microfrontends a Perfect Match
- buildingmicrofrontends.com
- Vercel Template
- Vercel Adoption
- Micro-Frontends Course - Beginner to Expert
Questions
Which engineering decision related to this topic has the highest switching cost once made — and how do you make it well with incomplete information?
- At what scale or complexity level does the right answer to this topic change significantly?
- How does the introduction of AI-native workflows change the conventional wisdom about this technology?
- Which anti-pattern in this area is most commonly introduced by developers who know enough to be dangerous but not enough to know what they don't know?