I’ve been researching micro frontends and found some intriguing discussions on their potential downsides. At my job, some colleagues strongly believe that this approach is the future. They think it’s the ultimate solution to our frontend issues. However, I’m beginning to question this after learning about various problems that could arise. Coordination among different micro applications, managing shared dependencies, and the performance impact are a few concerns that come to mind. I’m interested in hearing from developers who have actually used micro frontends in real projects. What unexpected challenges did you face that you didn’t foresee during the planning stages? Are there certain situations where you would recommend against this architecture?
curious about your team dynamics - did you notice communication breaking down between the frontend teams? we’re thinking about this approach but wondering if it just creates more silos instead of fixing them. how’d you handle it when features needed to work across teams?
Having implemented micro frontends across three different projects over two years, I can attest to some challenging realities. One major hurdle is debugging production issues, which can become excessively complicated as it involves sifting through various repositories, deployment pipelines, and teams. Maintaining design system consistency proves to be a significant challenge as well. Despite defining strict guidelines, we still encountered visual inconsistencies due to separate workflows. Moreover, the impact on network performance was more detrimental than anticipated, as loading multiple bundles resulted in slower interactions for users. While this approach can be effective for larger organizations with dedicated platform teams, I would advise smaller teams to think twice, as they may struggle with the operational complexity and coordination required, thus negating the purported benefits.
totally relate! debugging across microfrontends is like huntin’ for a needle in a haystack
bundle sizes were a pain too - every team wanted their own libraries. and don’t get me started on shared state management ![]()