Hi folks! It's been a while I don't post here, and there is a reason why. Besides being quite busy with work, back in December last year I decided to use part of my vacation to start a website to publish all I've learned over the years about web development, cloud development and architecture. You can visit it at microfrontend.dev
My journey with micro-frontends
I started experimenting with optimized and performant patterns and architectures to ship enhanced frontend applications, when I was a frontend technical lead for a large enterprise platform operating globally. We were maintaining its legacy version, and at some point, we decided to migrate. That's when I started my transition from developer and lead developer to architect. There was a lot going on: we were also moving from on-prem to the cloud. We were shipping a new platform to a new market. The team was growing from 10 to over a hundred. We were maintaining 3 legacy and a brand new code base, dozens of projects mapping to respective business units, and hundreds of localized websites, and we wanted to do it in the most efficient way for the stakeholders, the developers involved, and overall, the end-users. We also had external teams collaborating. It was not an easy endeavour, and I shared part of that adventure in a post that's been one of the most popular I've written in this platform Micro frontends: my lessons learned.
The motivation to build a website about micro-frontends
I spent most of 2020 and 2021 writing and doing public speaking online and on-site, about micro-frontend architectures, and later on, when I joined MongoDB as an architect, about data and how to connect the dots between data sources and the application layer, in the cloud. I visited multiple podcasts, too, and tried to spread as much of my knowledge, gained through experience designing, building and shipping to production, composable architectures in the cloud over serverless and event-driven components.
You can access some of that content here, under Content created by me
But that wasn't enough. I wanted to write a book.
I thought that writing a book would be beneficial for my career. I realized -and still think that it is the case- only published authors are somewhat taken seriously. Especially if you're a woman, it takes you a lot more effort to get visibility and for your opinions and research to be taken seriously.
But writing a book demands you subscribe to a publishers schedule. And I was already plenty busy and meeting deadlines at work; it didn't appear to be feasible. Especially after joining Microsoft to lead the e2e DX for JavaScript on Azure.
This is when I decided to publish a website.
If I don't have time for a book, I'll make it a website
And that's how microfrontend.dev was born. Not before my good friend Wassim bought a domain for me.
Shipping my knowledge and opinions as a website makes them accessible to everyone. And I do believe that's a good thing.
I have debated open-sourcing it, but I would like for the backlog to be completed first. I can't believe it went live for the first time on the 6th of January, and we're already almost in May.
Ever since, it has been visited by people from over 70 countries and hundreds of cities. I hope it's helping folks get a better understanding of some of the technologies, patterns, mechanisms and frameworks explored. I have a lot of pending topics to address, and I hope I find time soon to continue to develop it, improve it and expand on those topics and more.
If you find it useful, please visit it, share it with others, leave a comment here. Do you have topics you would love for me to add? Let me know!
For publishers: I may still be interested in writing that book. Especially now I have most of it put together ;)
More on the subject of composable architectures
If you visit my website and want to know more, I will be speaking at the O'Reilly Architecture Superstream on the 31st of May, precisely on this subject.
As a woman in technologies and a web software architect who's always been interested in innovating, disrupting, finding new ways to architect frontend applications with performance and user experience in mind, and bring professional frontend development closer to everyone, it was very exciting to get an invitation to participate and share my ideas at such a prestigious event.
I wish you all a great week, and hope to hear from you soon!
Tiny edit: if you want to get more tech content from me around JavaScript, TypeScript, VSCode, Azure... š me on twitter (I still don't have a BlueSky...) https://twitter.com/AnfibiaCreativa
Top comments (12)
Wow thanks for sharing such insightful knowledge. I'll be following your website until the book is released ;).
As a JAMstack fan, I'm working on a headless form builder in open source. I see how composable frontend applications and micro-frontends can benefit this project by making it more modular and scalable.
Would be happy to hear you feedback!
github.com/tutim-io/tutim
Thank you for the kind words, Lee.
Just checked out your project. It looks awesome. Will definitely use it in a future project.
PS: I also joined the discord too. I wanna try contributing (if I can)
First of all, congratulations for the super valuable information placed on microfontend.dev, it defines very well a powerful work philosophy for the present and future. Second, thank you so much for sharing your shocking experience.
Thank you, Franklin!
Thanks for launching your amazing website and writing your valuable experience over years.
Thank you for the nice comment!
This site is such an amazing resource! Thank you for sharing your process behind it and can't wait to keep checking back to see how it grows.
Thank you, Amanda!
That's quite interesting, thanks for sharing! Do you have a pattern to recommend for stitching multiple different frameworks together in the context of the same page? That's the only challenging thing I find fascinating about in the micro frontends, but most patterns stick to implementations locked to a certain framework, i.e. React with module federation or Angular with Angular elements.
Hi Volodymyr! Thanks for commenting. I would first need to understand the use-case, requirements, context (what frameworks are we talking about, where is the app being deployed to, how do you plan to manage state, what 3rd party services may be integrated horizontally, who is in charge of the orchestration, and a long list of etc) to be able to assess. In general, I advise to avoid horizontal splits using different frameworks unless when is no way to avoid it ie: the application to be integrated is built by an independent, external team, or is a legacy app, etc, in which case it is likely that the UX will be somewhat affected and you're facing more organizational problems than technical. But again, like everything in web development and particularly when it comes to architecture, the answer is the default... "it depends"
I've recently just been looking into the micro frontends and I think I want to seriously observe it. Thanks for providing useful info on the topic, I'll follow for more of such tips