5. Microservices approach
● Single Responsibility Principle
● Onboarding and adding features is faster
● Ease of deployment
● Freedom to choose technology
● High scalability
@legkoletat
6.
7. @legkoletat
Modern frontend architecture
● Complexity
● Size of the teams
● Technological diversity
● Constant upgrades and migrations
Typical large scale
frontend app:
● 100s of files,
● 100s of KLOC,
● 10s developers
21. Other approaches
@legkoletat
● App per route
● Iframes
● SSI
● Custom solutions following
micro frontens idea (1, 2)
● opencomponents
Image from Elisabeth Engel: Break Up With Your Frontend Monolith
https://micro-frontends.org/
22. Other approaches: Web components
● Well supported standard
● Isolated DOM, styles
● Components not apps
@legkoletat
https://github.com/karol-f/vue-custom-element
24. Challenges
● Managing state and passing events
● Predictable and reusable styles
● Page code size (TTI, loading, debugging)
@legkoletat
25. Practial
@legkoletat
Migration path
1. Check applicable approach
2. Select and cut the app fragment
3. Setup e2e for selected fragment
4. Optimize
5. Repeat 2-4
Do you really need this?
1. App user profile
2. Size of codebase
3. Size and maturity of team
26. Links
● Micro frontends—a microservice approach to front-end web development
● https://www.mosaic9.org/
● https://github.com/CanopyTax/single-spa
● https://micro-frontends.org/
@legkoletat