Micro-frontend architecture is a type of architecture where a web application is considered as a composition of features that are owned by separate individual teams. This approach is best suited for complex applications because over time the application tends to grow a bit messy and difficult to maintain.

Before we dive into why should we use them, let’s first look into the basic types of architectures used.


Basic Types of Architectural Patterns Used

  • Monolith — In this type of architecture, programmers usually are full-stack developers. They tend to work on both the front end as well as the back end.
  • **FE/BE **— Here there’s a separate group of programmers who look into front-end development, often known as front-end developers/engineers. The other group, who work on the back-end and on databases, are known as back-end developers/engineers.
  • Microservices — Microservices are an architectural style in which applications are decomposed into loosely coupled services, and there are particular teams looking into each service since the logic is too complex and it has to be fine-grained for ease of use.
  • Micro frontends — The server logic tends to get more complex. These days even the front-end teams need to have a similar approach as the application tends to grow. In simple terms, these are microservices for the front end.

Key Advantages of Choosing This Approach

  • **Independent teams **— Each team can work independently of other teams, as there’s no dependency between teams. The entire team is responsible for developing a set of features, including developing, testing, and the deployment process.
  • Technology agnosticism — Each team can use their own technology regardless of what other teams use. Say one team can use React, the other can use Angular, the other can use vanilla JS, and so on.
  • Easy testing — Testing becomes fairly simple, even for a very small change, as we don’t have to go and test the entire application — rather we need to test only the team’s module.
  • Better maintenance — By using this approach, it’s very easy to maintain the application code as it’s easy to deploy in small parts, and you also have shortened build times.

#programming #micro-frontends #front-end-development #javascript #software-development

What Are Micro Frontends? Is It Even Necessary to Use Them?
6.65 GEEK