here the intro
Web Components had so much potential to empower HTML to do more, and make web development more accessible to non-programmers and easier for programmers. Remember how exciting it was every time we got new shiny HTML elements that actually do stuff ? Remember how exciting it was to be able to do sliders, color pickers, dialogs, disclosure widgets straight in the HTML, without having to include any widget libraries?
The promise of Web Components was that we’d get this convenience, but for a much wider range of HTML elements, developed much faster, as nobody needs to wait for the full spec + implementation process. We’d just include a script, and boom, we have more elements at our disposal!
Or, that was the idea. Somewhere along the way, the space got flooded by JS frameworks aficionados, who revel in complex APIs, overengineered build processes and dependency graphs that look like the roots of a banyan tree.
Oh that bring back stuff …
where I concluded
it just does not seem fucking ready…
so let’s see how things have changed in ~4 years
first, Google Developers Web Tools
2016 (Web Archive)
OK, so Angular and Polymer are still there but Web Starter Kit and Polymer Starter Kit and PWA Starter Kit are all gone
Warning: The Web Starter Kit is no longer supported. If you are interested in building apps out of Web Components, try the PWA Starter Kit. The PWA Starter Kit uses LitElement, a lightweight base class for Web Components brought to you by the Polymer Project.
PWA Starter Kit (2020)
This project is no longer under development.
and finally, LitElement (2020)
The lifetime of frameworks and other web components practice is pretty pretty pretty short,
it seems the only constant in the HTML/JS world is that everything change all the time.
And let be clear, “change” is not the same as progress or evolution, here the change I’m talking about is you have a hell lot of people who build a lot of stuff to try to fit a square into a circle and after few years they throw it away.
Or here, like the post correctly point out
Somewhere along the way, the space got flooded by JS frameworks aficionados, who revel in complex APIs, overengineered build processes and dependency graphs that look like the roots of a banyan tree.
So I’m not here to say “hey look I was kinda right 4 years ago”, but still my warning is:
invest your time wisely.
As an indie dev I do not have the time and resources to invest in tech that change every couple years, I’m OK when the change is progress / evolution / more features / etc. , absolutely no problem to learn new things, but shiny things that vanish in dust later are a huge waste of time.
Please continue reading The failed promise of Web Components
Perusing the components on webcomponents.org fills me with anxiety, and I’m perfectly comfortable writing JS — I write JS for a living! What hope do those who can’t write JS have? Using a custom element from the directory often needs to be preceded by a ritual of npm flugelhorn, import clownshoes, build quux, all completely unapologetically because “here is my truckload of dependencies, yeah, what”. Many steps are even omitted, likely because they are “obvious”. Often, you wade through the maze only to find the component doesn’t work anymore, or is not fit for your purpose.
where the author goes into all the gritty and dirty details
and also remember all those stuff that vanished over the last few years,
apparently from the Google Developers Web Tools website now you should go with LitElement which apparently “solve the problems” of web components that Lea Verou describes.
Yes, “solve the problems” is in quote because I do not believe it, or at least I believe in a couple years it will have changed yet again.
Anyway, good reading.