@angular/cli ng new lib-project cd lib-project ng generate library logger-lib ng generate application playground-app ng serve --project playground-app ng build --project logger-lib
• Format Code/ check format • Restrict which apps/libs can access which other libs • Visualize module structure and dependencies • Scaffold Boilerplate
Straight forward Overlapping Elements? Lots of page requests? SEO? Web Components Standard Custom Elements <app-a></app-a> <app-b></app-b> Shadow DOM: CSS Isolation Nesting Framework Support? Bootstrapping different SPAs ✓ Similar to Web Components No Standard Nesting isn’t possible
b/w apps Hyperlinks Legacy Apps or *very very* strong isolation needed? iframes Need separate Deployment/ mix Technologies Web Components "Majestic Monolith" w/ Libs and Monorepo little much yes no yes no Not a good fit for customer facing Micro-Architecture: • Libs/ npm packages • Monorepo • Web Components • …
(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?