DEV Community


Let's Talk About MicroFrontends

gsto profile image Glenn Stovall ・1 min read

It seems to be all the buzz on JavaScript Twitter:

Some people have been talking about full-stack microservices, where you have separate parts of the frontend held together by a stitching layer. For example, one team could work on one component in React, another in Angular, each with their own separate build pipeline.

Despite it being all the buzz today, The idea has been around for at least a year, as seen by this post:

So, what do you think? I thought would spawn some more nuanced and interesting discussion over the Twitterverse.

Discussion (7)

Editor guide
georgecoldham profile image

All I can think is about the amount of resources needed to download everything. Requiring people to download multiple frameworks seems concerning to me. On slower or less reliable connections, what is the impact of supporting multiple frameworks and versions of them?

I understand the appeal of them, but I am sceptical that the convenience now, will not lead to bad practices and increased surface area for vulnerabilities down the line. However my knowledge of this technology is limited.

Whats wrong with sticking with one or waiting for web components?

georgecoldham profile image

When I say that I understand the appeal, I mean that I can see why a multifaceted company would decide to group fragmented tech into one place.

I dont really agree with the principle in general, seems a bit too overkill to me, even React feels like too much complexity for most applications.

I didnt even think about web apps or bundling tbh, I can see why they would influence decisions.

florianrappl profile image
Florian Rappl

We've been implementing microfrontends for different clients since ~3 years. The experience so far was great - development teams loved it, POs loved it even more.

Our approach, however, is different. We do not focus on "mix everything together" we focus on "keep it consistent". As this brings development challenges, we put much thought into the right tooling. One that follows standards (i.e., just works out of the box) and brings convenience.

Since we implemented this approach in custom solutions over and over we thought "let's make this generic!" and rolled out Piral. It's almost stable (i.e., 1.0.0 expected still this year) and we would love to get some more feedback.

It's FOSS available on GitHub. Thanks! 🍻

theodesp profile image
Theofanis Despoudis

Can't we just use dynamic/async components and be done with?