• veidr 16 hours ago

    > They're not Solid components. They’re not React components. They’re not Svelte components.

    I don't go on Twitter much since that oligarch bought it (causing most of the people I used to follow there to leave), but I happened across [some discussion](https://x.com/youyuxi/status/1839833110164504691) of this article there yesterday.

    To me, the topic is interesting, because at work I both use and advocate for using "Web Components" instead of Angular(!), or even Svelte or Vue, or whatever awesome framework. When feasible, anyway.

    It got more interesting, though, when I clicked through and saw the follow-up discussion, which I will summarize thusly:

    - Vue.js creator: Web Components will not win

    - Svelte creator: wasted so much time on Web Components before realizing they suck, and certain people promoting them are acting obnoxious

    - React team guy: yeah we ditched them quickly, too

    - Ex-Angular core guy: word

    - SolidJS creator: ATTENTION! Web Components are not only trash, they are the biggest threat the web has ever seen

    - Guy who wrote the above-linked blog post: NO, THEY'RE AWESOME, FUCK YUO!!!!!!

    As a person who builds various apps, by myself and with teams, my perspective is pretty different from these framework (or library/compiler) guys.

    I would like the code I and my team produce to have a reasonably long and simple service life, so Web Components are attractive, because they are part of the browser platform. They evolve much more slowly, and still have many pain points. They are certainly not as good, in and of themselves, as "components" from any of the above frameworks.

    (I haven't actually used SolidJS or Vue, but I'm presuming they are roughly similar to Angular, React, and Svelte, all of which require a lot less fuckery up front, and do more for you.)

    But, that stability. So this blog post seemed reasonable to me at first glance.

    But after I finished it, I was a little more wtf? than when I was half way through. The last sentence (rather melodramatically IMO) is, "The component war is over."

    Like, ...what "war"? Can't we just go ahead and use Web Components even if we do use Svelte, or React, or Angular, or...? Yes, we can; that's what my teams have been doing for a while now.

    So where's the war? I think he's conflating two things. Web Components were indeed intended, at least originally, to be useful for framework authors. Who apparently aren't superfans, of either web components generally, or this blog post specifically.

    OK; that's actually sort of orthogonally interesting.

    But, in any case, we mere web app developers can indeed just go ahead and use Web Components. They're part of the browser platform now. And we can also use whatever frameworks offer enough ROI to make it worth using something that isn't part of, but rather sits on top of, or compiles down to, the browser platform.

    So after reading this whole post, it seemed to me that it wasn't saying "you should use web components, they're awesome!" but instead saying "you shouldn't use something that isn't web components, because that's lame and I don't like it, and moreover those framework guys shouldn't keep making those not-web-components things because the WAR is OVER!!" — which is self-evidently ridiculous.