23 August 2022
Micro-frontend is one of those terms you maybe never have heard about. It’s not a buzzword, it’s not a trendy catch-phrase that makes you look smart and sophisticated instantly. There are however plenty of profits of using micro-frontend architecture as a preferred architecture for your project, and here are some reasons home come.
There are some architectural patterns used for creating software. If you have one team of programmers who take care of everything within the project, your architecture is probably a monolith. If your team is divided into two highly specialized groups, with one of them taking care only of the front end (basically what the user sees) while the other deals with the back end and databases – your architecture is probably FE/BE. Micro-fronted is more complex than that – you have multiple teams of front-end developers working on independent, separate units.
For you, as a customer who wants their final product to work, it might look like it doesn’t matter how it’s done as long as it’s done, but if your business partner provides such a form of cooperation like designing your solution by micro-frontend, it should get your attention.
The biggest profit you will get lies in the team’s independence. Every unit works on a specific group of features, from designing them to testing how they work. It means that if something somewhere goes wrong, only one independent team might be stuck, while others will continue to develop your product.
The independence of teams equals the ability to use different technologies. Every single feature of your app can be made in the best technology for that solution specifically. It’s convenient with complex products because you don’t need to look for a software house that can technically do everything in one technology, but some features might come out as mediocre at best, just because the technology wasn’t right. With micro-frontend you get all your features optimized.
Testing is another thing that goes as smoothly as possible with micro-frontend. Same reasons as above – you test different units independently, so if you change something in the code, you don’t need to test the whole software as use resources on that process. It makes testing cheaper, faster, and more effective, which means cost-effective for the client.
The same goes for future changes – they can be implemented in particular units without reorganizing the whole app and risking creating a mess.
Another benefit for the client is faster and easy-to-understand feedback since each team is focused on one thing (goal), so there’s no need for complicated reporting. Most information about the work can be given immediately. Also, the planning itself is less complex, since ideally, one specialist is giving all his or her attention to their designated unit, without jumping from one task to another in different areas, possibly in different technologies.
In conclusion, if you have an idea for a great and complex app that will take your business to another level, find a partner who can provide you with the best team of developers for your product. Micro-frontend could be a great solution for you and your needs.
Author: Cezary Dmowski, CTO, Co-owner at ITSG Global