Web Components: An Overview

Web Components: An Overview

A brief overview of web components in regard to the question "can web components replace SPA frameworks?".

12c88a3a10478fa18d0363b3ba3d9df1?s=128

Christian Liebel

September 02, 2020
Tweet

Transcript

  1. Web Components An Overview Christian Liebel @christianliebel Consultant

  2. Hello, it’s me. Web Components An Overview Christian Liebel Twitter:

    @christianliebel Email: christian.liebel @thinktecture.com Angular & PWA Slides: thinktecture.com /christian-liebel
  3. What you can expect Very quick Web Components overview Working

    (very basic) frontend based on native web technology (plus some libraries and modern JS features) Evaluation based on frontend mechanics What you can not expect Web Components Deep Dive (lifecycle, custom attributes/ properties/events, slots, …) Styling/Layouting Shadow Parts è bit.ly/webcointro Web Components An Overview Expectations
  4. Can we build frontends without any framework but Web Components

    only? Web Components An Overview Experiment
  5. Component-Based Software Engineering (Mass Produced Software Components, McIlroy 1968) –

    Isolated (black box) – Well-defined inputs and outputs – Reusable – Interchangable – Marketplaces Web Components An Overview Components
  6. A Combination Of… Web Components An Overview Web Components Custom

    Elements <my-element> Shadow DOM #shadow-root HTML Templates <template>
  7. Browser Support Web Components An Overview Web Components 80 10.1

    63 54
  8. Vanilla JS & Web Components – Article management software (read-only)

    – Master-detail navigation – List of articles – Detail view – Data is retrieved via HTTP – Routing Web Components An Overview Sample
  9. Vanilla JS & Web Components Web Components An Overview Sample

    LIVE DEMO
  10. Vanilla JS & Web Components Pros: – Very small footprint

    (~4 K compressed) – Web Components are very easy to use Cons: – No data binding – No “template magic” – Routing is tedious Web Components An Overview Recap
  11. Libraries Web Components An Overview Web Components

  12. Browser Support Web Components An Overview lit-element 11 current current

    current
  13. lit-element & vaadin Router Web Components An Overview Sample LIVE

    DEMO
  14. Pros: – Data binding – “Template magic” – Routing Cons:

    – Larger footprint (~207 K, > Angular app!) Web Components An Overview Recap
  15. – Rendering – Custom Elements – Templating – Data Binding

    – Routing – Dependency Injection – Forms & Form Validation (Form-Associated Custom Elements) Web Components An Overview Recap
  16. Web Components An Overview Status Quo do it yourself bring

    your own libs all in one
  17. bit.ly/webcodemo Web Components An Overview Interoperability & Microfrontends LIVE DEMO

  18. Can we build frontends without any framework but Web Components

    only? Web Components An Overview Experiment
  19. You can build frontends with web components only. Extremely small

    footprint (4.2 K vs. 100+ K basic Angular app) Fully interoperable Abstractionless No time-consuming build process required But: Some features are missing or tedious to use, you have to choose libraries for your own Web Components toolbelt Web Components An Overview Yes we can!
  20. You can build frontends with Web Components only. Not all

    websites/applications need a full-blown framework But: (Larger/business) applications need architectural means that other frameworks provide you for free, so frameworks remain a good choice! The result is more or less the same è Web Components are another feasible option! All four major browser vendors are on board – Web Components might get even more powerful in the future Web Components An Overview Summary
  21. Thank you for your kind attention! Christian Liebel @christianliebel christian.liebel@thinktecture.com