Comparing Libraries Through a Simple Web Component
A new comparison page breaks down how dozens of libraries and frameworks stack up when used to build the same web component. It’s a useful reminder that the web platform’s component APIs were intentionally designed so libraries could build on top of them.
The exercise is a basic counter component. Done with native HTMLElement extension, it weighs in at 1,293 bytes. Every library then adds its own overhead atop that baseline. Larger frameworks such as Vue and React naturally balloon in size, though they bring much broader functionality. The heaviest option listed is CanJS at 230,634 bytes — a library that isn’t chasing a small footprint, but rather, per its own description, targets experienced developers building complex applications. On the opposite end, Svelte lives up to its compile-away philosophy, shipping at just 3,592 bytes — roughly a third the size of lit-html and half that of uhtml, both of which remain intentionally thin templating and re-rendering layers.



