Micro-frontends have been recently listed in Thoughtworks Technology Radar as
"a technique to assess"[0]. They describe it as an approach parallel to the
microservices pattern seen on the backend: a monolith front-end web app is
broken into many sub-applications, each with a certain level of independence
from the others so that it can be developed, tested and deployed in isolation.
These sub-applications share a set of primitives to allow for a cohesive user
experience.
Spotify desktop client is reported[1][2] to be built with such an approach,
isolating micro-apps into iframes using libraries and postMessage APIs to
coordinate. I've personally run into an application built in a similar way,
where many iframes shared APIs exposed by their parent window.
I was wondering if someone in the HN crowd had experiences / tools / frameworks
to share to help someone looking into this topic.
Thanks :)
[0] https://www.thoughtworks.com/radar/techniques/micro-frontends
[1] https://www.quora.com/What-is-the-technology-stack-behind-the-Spotify-web-client/answer/Andreas-Blixt
[2] https://www.quora.com/How-is-Javascript-used-within-the-Spotify-desktop-application/answer/Mattias-Petter-Johansson