Micro Frontends — How to improve developer experience and performance in larger web applications

Many major tech companies today have monolithic architectures with a high degree of complexity and many interdependencies, increasing the business risk and inertia when developing new features. This complexity of developing monolithic code bases tend to snowball with scale. Does this sound like your company?

This is one of the issues I encounter frequently when meeting with our consultancy clients and discussing challenges with leaders in the tech sector.

“Usually, we have an IT-department and a business department working separately, I think that in an ideal scenario there are end-to-end cross-functional teams responsible for solving specific business issues”

This was one of my colleagues about micro frontends and how this way of working should be implemented. But let’s rewind, what does the term even mean?

Working with micro frontends means that you work in cross functional, autonomous teams focused on everything related to a specific function or part of the customer journey. So, for example, in an e-commerce store, there could be a team responsible for the search function, another for the check-out and so on. In this example, the team responsible for the search function would have responsibility not just for designing the search button on the site (frontend), but also for checking which of the items searched for the company has in stock (backend). The various functions often communicate using pub-sub patterns, which is a communication pattern between services, enabling decoupling and enhanced scalability since it is not necessary for the sender of the information to understand how the receiving modules work. Furthermore, when developing the micro frontends separately, the process of testing the specific modules is much quicker than for monolithic code bases.

Micro frontends present a potential way to move away from monolithic architectures through enabling a high degree of autonomy for the teams, freer choice of tech stack, decreased complexity, fewer unnecessary interdependencies, better DX (=> easier hiring), and quicker time-to-market for new functions.

There are many ways to improve developer experience and micro frontends is as of now more a vision and a paradigm than a methodology — but it is continuously developing.

The question remains, what is the future of scaling development?

--

--

--

Mpya Digital is an IT consultancy in Stockholm, Sweden. It is an organization made by — and continuously improved by — the people in it.

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Organizing teams to deliver microservices architecture

Headache from using mathematical software

Using iCalendar for semi-predictable but oddball events

How to Make Your Class Objects Support Different Operators

A dummy image for better reading and navigation.

How to generate videos using Lottie in Android

Scan Images for CVEs Prior to Pushing to Image Repository within a CI/CD using Tekton and Buildah

He nodded his head yes😭😭😭

Using a text editor, I can program my browser to do some nice things for me, and this is simplicity.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Mpya Digital

Mpya Digital

Mpya Digital is an IT consultancy in Stockholm, Sweden. It is an organization made by — and continuously improved by — the people in it.

More from Medium

Simple Micro Frontend Monorepo with React and Single-SPA

agungvr — micro-frontend-monorepo

Is Git Flow Overrated?

Micro Frontends in Action: Architecture and Integration Approaches

Manage code quality and static code check in any big javascript project| Set right governance for…

Code Quality — Real Test