Content consumption is undoubtedly growing larger by the day. Powering this consumption are complex frontend applications that allow users to enjoy an amazing viewing experience. Today, these frontend applications are much more than simple webpages, they constitute a lot of different domains such as authentication, previews, catalog, playback, user panels, help section, and much more.
While developing such extensive and complex server-side web applications or client-side apps, most companies tend to make the same mistake as prominently seen with backends, i.e., end up with a monolithic codebase. With such a codebase that comprises of different domains, development teams not just get into each other’s way, but also face scalability and extension hurdles.
Recently, microservices oriented software architecture has gained much traction and aid in solving the monolith puzzle. The benefits are apparent - small and manageable services with autonomy in development and deployment. Efficient and effective scalability, easy maintenance, and independent updates are other significant benefits that microservices have brought along.
As frontends also face the same issue, can the same concept of decoupling applied to them? Indeed yes! The same benefits can be extended to frontends when they are developed similar to microservices, aka as micro-frontends.