Increased choices in technologies
Building using a micro frontends architecture gives organizations and teams the flexibility of building using the technologies of their choosing. A page written with Angular can use a component from a React micro frontend and vice versa. The modal dialog for saving user data may be written in Vue, while the page underneath was done in Svelte. In a micro frontend solution all these different apps can work together.
Second, you are no longer reliant on a single web framework that may not exist the entire 5+ year lifespan of your application. A final benefit of the technology flexibility is that teams and new hires are able to get to work with a much shorter introduction period as they are able to use the technology they want and are comfortable using.
What does micro frontends look like in practice?
Another big benefit of adopting micro-frontends as an architecture is that it forces you to think about your application as various business requirements rather than a collection of items on a page. Take an e-commerce site for example. When you are creating a list of requirements and breaking apart the various functionality:
•There should be a way to shop for items
•There should be a checkout “cart”
•There should be a way to see order history
Without having any designs, we have already identified 3 separate parts of the application that can be developed in isolation from each other. Furthermore, each micro-frontend is hyper-focused at solving ONE PROBLEM, which will definitely help the code stay clean over the lifetime of the app.
Of course, these micro frontends will eventually be stitched together into a single page, but dividing our micro-services by business domain rather than page design allows us to quickly set up alternate flows or versions of the e-commerce site. If the checkout cart is in the top right, we can easily move that CTA anywhere on the page we want without having to worry about data-flow or CSS inheritance problems.
Conclusion
Micro frontends are not a silver bullet. They can help and provide value when the circumstances are right. It is a big endeavor both from a technical but also from an organizational point of view, because you have to include the business people, UI/UX experts and basically everyone in the IT department.
On the other hand, it solves a lot of problems, especially one that large organizations struggle with: The inability to react quickly to new business ideas and requirements. Additionally it alleviates other challenges brought about by a monolith front ends such as: high costs due to the same UI functionality needing to be implemented multiple times with different technologies, complex systems that require a long training period for developers, and the constant fear of making the wrong framework decision that ultimately blocks innovation. If none of the reasons above play have any importance for you then chances are high that you don’t need a micro frontend solution.
When you go for a micro frontend platform be sure to check out Entando.