Tech: Perhaps we should reinvent the wheel from time to time?
I was reading Tim Holm’s excellent piece on Micofrontend lessons from the New Stack 1, and something struck me.
Yes, micro-frontends are just portlets. And portlets are just a fancy name we have given to a way to do distributed computing. As are microservices and so forth. We are re-learning the lessons of distributed computing we have learned many times before.
At the same time, something is different this time. With portals and portlets, we (as the industry) failed. Most portals were doomed from the start. The architecture patterns were solid, but implementations were lacking. Just look at 90%2 of all the SharePoint-powered sites for modern examples of the portal silliness we used to do.
When I look at the micro-frontend examples, code, and articles - It’s much cleaner and more straightforward this time. We have almost magically started to understand that a micro-frontend is just a distributed computing instance. Part of that is due to better tooling and more advanced web technologies. The other factor might just be Cyclon-Do.
Wait - what on earth is Cyclon-do, and what has it to do with micro-frontends? The leap of thought here requires a bit more background, but bear with me, and It’ll all make sense in the end - I promise.
We’ve been watching Lego NINJAGO with my older kid. The show is very well written to cater to adults, geeks, and kids alike. It’s not only rich with light-hearted intermedia references like having the main baddie be the father of the world saving Jed^h^h^Green Ninja but also filled with surprising amounts of philosophical lessons.
We are now watching season 5, where the Ninjas must learn a new and foreign martial art called Airjizu. Mastering the art requires about the same lessons that the Ninjas had to learn last time, A theme that repeats from season to season, a lot like most lessons in our industry.
In the last episode we watched, the Ninjas finally found the git-repo containing the secrets of Airjitzu and were trying to get it to run with npm, yarn, bun, pnpm, and so forth. Figuratively. And they failed time after time. Until one of them, Jay realized that it was not the Airjitzu that failed but the way they approached it. He quickly surmised that they should do “Cyclon-do!” instead, resulting in the Ninjas learning the secrets of aerial combat art “formerly known as Airjitzu” in a single cut-scene.
That’s a lot like what’s happening with the micro-frontend movement. Renaming and reinventing the concepts makes them more understandable for the current age and in general.
There may be a rationale for occasionally reinventing the patterns and concepts - even if it can feel frustrating to us used to the old tongue.
Footnotes
-
4 Lessons Learned from Building Microfrontends, Nov 10th 2023 9:30, Tim Holm. (https://thenewstack.io/4-lessons-learned-from-building-microfrontends/) ↩
-
There are and were good, perhaps even excellent, SharePoint-based internal and external sites, just as there were some well-built portals in the heyday of the pattern. That accounts for the 10%, in my expert opinion. ↩