opinion on micro frontends
Recently micro frontends became a thing on twitter due to post on Martin Fowler site it seems. Idea that article suggests is that people can take advantage of split responsibility to develop faster on cost of some performance.
While idea sure contributes to discussion how to scale frontend development further there are some notable things like:
When you develop with modern frontend libraries often its hard to find a company where you will encounter bigger complexity than current frameworks are not capable of handling well. When we talk about scaling more and more on cost of performance we can most probably count on our fingers today companies that have some gigantic apps like so at least from my impression as of today.
I’m confident there might be places where one could indeed pull an upset with such approach even today but I’d argue that against competition this approach might be something for the future. If and when we see apps with such volume of stuff that would drive majority or at least some bigger percent of developers to adopt such strong divide of responsibilities. Before that happens just like microservices are not something one can do without strong tooling in place just because its good idea that would also translate to micro frontends if one does not want to deal with all the issues that might come out of it.
One of the thing that Erlang people might say is that this is going to come down to reinvention of the Actor model. Once we look around a bit we indeed see someone somewhere did do just that. It’s the guys from Twitter with their FlightJS released about 5 years ago. It tried to solve the same problem and it did not with iframes but with implementing some type of Actor model as JavaScript framework. With FlightJS one can indeed get this promise that you can split people and they work on their own thing without issues that might arise from iframes.
While most prob other tech now days gives much competition to this idea and also well structured code too, I’m confident as web grows more and more and apps grow more and more that we’ll see not just micro frontends proposed but more and more ideas that try to address the scaling problem if it happens.
What is left untouched is like how all this translates to games and desktop apps now being popular that have much more complexity than what boss will give you to do in medium to small companies today.