1 minute read

The idea behind Micro Frontends is to think about a website or web app as a composition of features which are owned by independent teams. Each team has a distinct area of business or mission it cares about and specialises in. A team is cross functional and develops its features end-to-end, from database to user interface.

An architectural style where independently deliverable frontend applications are composed into a greater whole - Martin Fowler

The key benefits from micro frontends are:

  • smaller, more cohesive and maintainable codebases
  • more scalable organisations with decoupled, autonomous teams
  • the ability to upgrade, update, or even rewrite parts of the frontend in a more incremental fashion than was previously possible

It is no coincidence that these headlining advantages are some of the same ones that microservices can provide.

Clearly this approach is a decoupling strategy. Many teams can contribute to the frontend, external developers can be used to extend an api.

An interesting side effect of this approach is that development speed should be constant despite an growing solution.

It’s inevitable that frameworks will grow up around this concept. It will be interesting to see if client side developers, like my employer, will adopt or build their own.

Finally, not all good ideas make it, if there is not critical mass behind an idea, adoption will be limited and maturity through evolution will just not happen. It will be interesting to see if micro-frontend adoption occurs similarly to what we see with microservices. That is people start with they assumption they should build a solution with ms, regardless whether they need it or not.