Okay, so in the last 10 years, I worked relentlessly on figuring out how we can have an architecture that is distributed on the frontend. And trust me, it was a journey. So, I spent time implementing. I spent time designing microfrontends. I spent a lot of time collecting war stories on what worked, what didn't work, defining patterns, antipatterns, defining the vocabulary of the architecture, defining what was in and out from specific contexts that you cannot even imagine. But today, I'm extremely happy to say that the largest companies in the world are using this architecture.
Let's say the tools that currently are using the software, the apps that they're using in any kind of industry, retailers or banks, insurances, entertainment, even in sports, all of them at some point, they moved into microfrontends. And today, I want to share with you a PAVED path or a golden path that will enable you to do as well. So, majority of the time, if my clicker works, okay, when I walk in a room with a team that wants to work with microfrontends, the conversation starts in this way. We have seen your work. We like it. So, we want to move to microfrontends. But we already have a plan. This is our app. And we just take all our components, we load them remotely and, oh, job done. My answer is usually this.
So, good luck with that because that's not a microfrontend. What is a microfrontend, though? So, majority of the time, there is this confusion that components are microfrontends while they are not because a component has a specific implementation aspect. So, when you implement the component, as you can see here from this input of code, we have this nice button that exposes a bunch of properties, the ID, the label, the functionalities, and so on. So, what does it mean? That in reality, the container of the components is instructing the component to behave in a certain way. Microfrontend doesn't work in that way. In a microfrontend, instead, we have a very small footprint of properties. You have basically just a microfrontend that knows how to behave in a specific context. Why that? Because the reality is simple. So, a component is designed for usability. You create a design system because you want to have the same look and feel everywhere. You want to reduce the duplication. And finally, you want to have UI consistency, right? And microfrontend is not for that. Microfrontend is optimized for independence. You want to reach the fast flow.
Comments