Prevents gritting further libs Versioning • Old versions • Conflicts • How to force devs to use latest version? Decoupling • What if lib authors == app authors?
µService iframe µService iframe + Isolation + SPA + Can hold state + Messaging API + Separate Deployment + Separate Development - iframes ;-) - Nesting - Overlapping elements Shell
Element µService Element + SPA - Nesting (different Apps) + Separate Deployment + Seperate Development - Communication + Isolation (Shadow DOM) Shell Shadow Dom: Own Css + Isolated from the rest
Element µService Element µService Element Shell Widget from other µService + SPA + Nesting + Separate Deployment + Seperate Development + Communication (DOM) + Isolation (Shadow DOM)
shared state: Hyperlinks • Otherwise: Integrating legacy solutions + Isolation: iframes • Otherwise: Just one (optimized) UI but no separate deployment: No Microservices but Libs and/ or Monorepo • Otherwise: Modern and some isolation: Multiple SPAs in one browser and/ or Web Components
Using Angular (And SPAs In General) For Microservices Aka Microfrontends • A Lightweight And Solid Approach Towards Micro Frontends (Micro Service Clients) With Angular And/Or Other Frameworks • Microservice Clients With Web Components Using Angular Elements: Dreams Of The (Near) Future?