About using “the platform”
Another day, another post about not missing hyped libraries when it comes to Web development, which is something I’ve been advocating and agreeing, but also used in practice, for nearly 20 years now.
Unfortunately, this is also something I’ve heard enough when it comes to details in every single post that comes from Google employees, including those in the web.dev space which I wish it was neutral, but it’s not (3 links in this last sentence to check out about promoting Google libraries, and those links are just a few out of hundreds … 😢)
lit-* is not the platform
Likely the biggest epic fail around Custom Elements specification, has been to skip benefits all together and instead couple this specification to Google libraries, frameworks, or team: Polymer first, which library basically re-branded as lit-html, or lit-element / LitElement, or mostly whatever “lit-based” you can find out there.
How is lit not the platform?
Well, beside being yet another library/framework/utility (call it as you like) anything based on lit is just like anything based on uhtml, Svelte, Vue, React, or any of the frameworks/processors/libraries “the platform” is supposed to “defeat”. On top of that:
- lit-html is written in TypeScript. As much as you like TS that’s not really what “the platform” offers, isn’t it? The platform, if we speak Web, is about HTML, CSS, and JS, whenever we like it or not, so it sounds weird to promote “the platform” when very little in the library uses it (read next!)
- lit-html, like most of my “closer to the platform” based utilities/helpers, uses a specialized template syntax to hint the (behind the scene, not vDOM but close to) engine what to do, including specialized
?booleanattributes, and so on, all wonderful ideas for a library/helper, but nothing even remotely close to “the platform”; actually something closer to old style string based templates, such as backbone or others solutions
- lit-element is nothing different from a regular custom element that has helpers to render its content and decorators to define some behavior … still, LitElement is not “the platform”
Is lit-* bad?
No! I’ve been inspired by lit library I hope at least as much as lit library has been inspired by my solutions, but the thing is: lit is cool, you should check it out, yet lit is not the platform!
TL;DR Enough is enough!
Not only Google articles contributed to make Web Components and, even more, Custom Elements, a “frameworks competition”, instead of a nice integration for universally deliverable components within any possible 3rd party, what bothers me the most is that in doing so, it narrowed down to their libraries, and nothing else, endless possibilities that current Custom Elements specifications allow and bring to the Web table, likely for the sake of promoting something that, year after year, clearly showed it wasn’t entirely a solution, compared to nowadays (rightly so) hyped frameworks, processors-based, helpers, and libraries.
I do love “the platform”, and I’ve tried (and failed) to promote it for 10+ years, but I never had a “Web developers advocates” team on my shoulders: it’s been just me
* and nobody else, to date, promoting the platform I believe on!
* as in: I’ve been advocating about standards by myself, without being payed
But if a corporate, that’s supposed to promote standards, focuses every single article around how easier everything would be with the very same corporate library instead, not only I see a conflict of interests in participating on Web standards, I call it bullshit too!
So please, stop relating Web Components or Web standards to Google libraries, or we’ll all go down together.