Re:If Web Components are so great, why am I not using them?
by tailspin2019 on Wednesday August 02, 2023 @06:59PM
(#36979021)
The latter doesn’t have any dependencies or a build step though right?
That’s a big win that can be easily overlooked. But it depends what you’re optimising for…
Re:If Web Components are so great, why am I not using them?
by eropple on Wednesday August 02, 2023 @07:21PM
(#36979262)
I don't know many (any?) people who are greenfielding just-JavaScript, though. If you're using JavaScript in anger, you should probably be using TypeScript, and now you've got a build step regardless.
Which is not a bad thing. Incremental builds have gotten much better and much easier to deal with.
Re:If Web Components are so great, why am I not using them?
by tailspin2019 on Wednesday August 02, 2023 @07:31PM
(#36979345)
You now know one person who is doing this.
:)
Re:If Web Components are so great, why am I not using them?
by wsgeorge on Wednesday August 02, 2023 @08:04PM
(#36979590)
> greenfielding just-JavaScript, though
There are still some frameworks that let you write fancy front-ends without a build-step and associated tooling. And there's people like me who prefer those since they meet our needs.
Re:If Web Components are so great, why am I not using them?
by jamesfinlayson on Thursday August 03, 2023 @02:41AM
(#36982192)
I use web components in a small project where I don't want a build step (it's plain HTML and I just use web components for re-usability instead of copy+pasting mark-up).
Re:If Web Components are so great, why am I not using them?
by afavour on Wednesday August 02, 2023 @07:06PM
(#36979090)
Examples like this bug me. The React example is using a high level abstraction, the web component is directly using the API. A more accurate example would show how those React calls eventually boil down to document.createElement()
I don’t think the Web Components API was meant to be used directly all the time. You can use a framework like StencilJS:
When you consider the 100KB of bulk the React example brings with it the web component example is actually pretty impressive.
Re:If Web Components are so great, why am I not using them?
by tomger on Wednesday August 02, 2023 @07:08PM
(#36979113)
Lit framework provides a bunch of sugar that brings the dev experience closer to JSX
Re:If Web Components are so great, why am I not using them?
by dpweb on Wednesday August 02, 2023 @07:09PM
(#36979135)
Can be reduced
customElements.define('like-button', class LikeButton extends HTMLElement {
connectedCallback() {
this.innerHTML = '<button></button>'
this.addEventListener('click', this.onClick, true)
}
onClick() {
this.innerText = 'You liked this'
}
})
Here's legacy React's like_button.js, without JSX, from their old documentation:
Here's the equivalent using the Web Components specification[1]: The React API is slightly nicer to use, especially with JSX.[1]: https://github.com/andrewmcwatters/custom-elements