A micro frontend architecture is an approach to developing web applications as a composition of small frontend apps. Instead of writing a large monolith frontend application, the application can be broken down into domain-specific micro frontends, which are self-contained and can be developed and deployed independently. Each micro frontend can be owned by verticalised domain specific teams. Micro frontends do have advantages and disadvantages and they are not suitable in many cases. When micro frontends is a potential solution, make sure to use a domain driven top-down approach, with no big design upfronts. Keep it simple!
Frontend Developer Love Amsterdam - 30 January 2018
5. Monolith
+ Single codebase
+ Easy quick setup
+ No version management
+ Single CI/CD pipeline
- Refactoring is difficult
- Try new stack
- Experiment
- Long build times
- Long development times
- Long deployment cycles
27. iframe
App Shell
- State
- Routing
Isolation
Separate Deployment
Feels like one page
Different Frameworks
Tree Shaking
Several Frontends
No Version Conflicts
Separate Development
Vendor Bundles
32. Separate Deployment
Feels like one page
Different Frameworks
Tree Shaking
Several Frontends
Separate Development
Isolation
Vendor Bundles
No Version Conflicts
Web Components
Each app a
component
Again App Shell is
the orchestrator
49. http://www.dwmkerr.com/the-death-of-microservice-madness-in-2018/
Can you fit your team
around a large table?
Do you have monolithic
dependencies?
Got container, orchestration,
devops experience?
Yes
No
Yes
No
Yes
No
You might not need
micro frontends yet
Micro frontends
might help you
Micro frontends
might be valuable
Consider giving
them a try first
Integration might be
complicated
Micro frontends may
be easily integrated
51. “Architecture in micro frontends is domain driven,
and low level components can be technical driven.
It makes sense to follow a top down approach.
Thinking of how to split your monolith in apps
according to your domain. No big design upfront
as things might go wrong.”
Stefan Tilkov @ Devoxx Belgium 2016