Zach Leatherman, creator of the Eleventy static site generator, writes about web performance, fonts, and front-end development.
Commenters link his guide to web font loading and his React criticism history, and praise the hamburger menu on his homepage.
There have been many that have hit the front page over the years. If you're not aware of a technology's shortcomings then you're a bad proponent of said technology. They're also almost the antithesis of what the HTMX crowd also preaches as "the one true way" and meanwhile, Wordpressers will continue developing the majority of the world's websites blissfully unaware that either technology even exists.
https://dev.to/ryansolid/web-components-are-not-the-future-48bh
https://dev.to/richharris/why-i-don-t-use-web-components-2cia
https://daverupert.com/2023/07/why-not-webcomponents/
https://paularmstrong.dev/blog/2023/03/11/why-we-do-not-write-web-components/
https://nolanlawson.com/2024/09/28/web-components-are-okay/
https://www.zachleat.com/web/good-bad-web-components/
https://mayank.co/blog/web-components-considered-harmful/
https://adamsilver.io/blog/the-problem-with-web-components/
https://web-highlights.com/blog/are-web-components-dead/
along with some criticisms from very knowledgeable people:
https://x.com/youyuxi/status/1839833110164504691 (author of Vue) https://x.com/Rich_Harris/status/1839785839036887361 (author of Svelte)
Web Components solve a few problems and introduce a few others, use them when they make sense for your needs.
This is a better and more concrete example of the point made in the article:
- https://www.zachleat.com/web/details-utils
The `details-utils` component enhances the behavior of the built-in HTML `detail` component. If for any reason you have JavaScript disabled, then using a web component like this would be just fine because the `detail` component would continue to behave like it always does. If you have JS enabled (or it's finished downloading) then you have an enhanced version of it that has features like collapsing when you click outside of it, etc. That's the part that's reusable when used like this.
That web component from the creator of 11ty is what made the point made in the article click for me. When I first started looking at web components I was like, "this still requires JavaScript and doesn't work without it," and that was the same point Rich Harris made in this article: https://dev.to/richharris/why-i-don-t-use-web-components-2cia
Websites were much more varied and creative in the jQuery era, and even more so in the Flash era that came before. Different interaction paradigms, wild animations, full-screen effects, etc etc. Not necessarily "better", but React didn't really enable anything we couldn't have before - even today when real performance is required you will resort to canvas/webgl, alternative rendering approaches and skipping react's render cycle.
React was never [1] fast [2] - that is one of the biggest misconceptions in frontend development in the last decade.
[2] https://css-tricks.com/radeventlistener-a-tale-of-client-side-framework-performance/
[1] https://www.zachleat.com/web/react-criticism/
yeah check out https://front-end.social - some popular front end dev accounts:
https://mastodon.social/@firefoxwebdevs
https://social.lol/@db
https://front-end.social/@piccalilli
https://mastodon.social/@davatron5000
https://indieweb.social/@addyosmani
https://front-end.social/@jensimmons
https://mastodon.social/@adactio
https://zachleat.com/@zachleat
https://front-end.social/@rem
https://front-end.social/@chriscoyier
https://front-end.social/@AmeliaBR
https://front-end.social/@rachelandrew
https://webtoo.ls/@astro
https://webtoo.ls/@antfu
https://front-end.social/@bramus
https://front-end.social/@5t3ph
All you really need to do to get a 100 perf score is to cut out any unused elements, only load the CSS you need, load any JS you need as late as possible (defer the <script> at least), and optimize your fonts and images. If you're using a decent host that has a point of presence fairly close to where Lighthouse is running then you should get a decent score. My own website has a 4x100 Lighthouse score.
If you're interested in this sort of optimization then Zach Leatherman's "Speedlify" is a good tool for doing continuous monitoring - https://www.zachleat.com/web/speedlify/
Hmm, I just did a search for web fonts with data URIs
In this article: https://www.zachleat.com/web/web-font-data-uris/ mr. Leatherman advises against (because of the bulkiness of web fonts blocking rendering for too long) but he has not taken into account rolling your own custom mini-font with just the glyphs you need.
So I think your idle musing may indeed have merit!
Perhaps those more knowledgeable and preferably with benchmarked evidence could care to comment?