Frameworks, the web, and the edge
A student of mine shared this video from Rich Harris on frameworks, the web, and the edge…
It’s a really nice complement to his talk from two years ago on the transitional web.
As is common with talks from Rich, I found myself disagreeing strongly on some of his points, but softening a bit once he gave a nuanced explanation.
I’d recommend watching the whole thing. Here are some of my big reactions or comments after watching.
Rich talked a bit about the folly of chasing scores or outcomes for the sake of the outcome rather than it’s impact on users.
He noted that sometimes people will focus obsessively on getting all 100’s in Google Lighthouse, even when the resulting site or app is actually worse for users.
I wrote something similar back in 2015, when I realized that sometimes a higher score in Google’s PageSpeed Insights resulted in a slower website.
Most websites should work without JS
MPAs vs. SPAs
Rich talked quite a bit about how lines between MPAs and SPAs have blurred a bit (this was the heart of his talk on transitional apps a few years ago).
He also talked about how SPAs are generally better for users.
I wonder if his conclusion there accounted for accessibility and disabled users. SPAs need to worry about announcing page state changes, and shifting focus back to an appropriate element.
Many SPAs get this wrong, and it creates huge accessibility issues (as in, a worse UX).
I do really like that SvelteKit just uses plain old links and intercepts them, though, rather than requiring a special
<link> element like most frameworks. From an authoring experience, that seems much nicer.
It feels like SvelteKit has taken the best parts of Vue, React, SSGs, vanilla JS, and Hotwire, and created a nicer authoring experience/developer experience (DX) around them.
Build steps are good
Here, Rich argues that build steps are good, and that the overlap of people saying we’ve prioritized DX over UX and those who say “build tools are evil” is nearly 100 percent.
So… I’ve never seen anyone argue that build tools are evil.
We have prioritized DX over UX, but that doesn’t mean build tools are bad. Build tools can be good!
The argument is actually that developer tools are only a better DX for certain subsets of developers, but have become so ubiquitous that they’re required. This creates gates and speed bumps that alienate new developers and prevent some developers from participating at all.
All-in-all, Rich gave a really interesting, nuanced talk. If you haven’t yet, I’d recommend you go watch the whole thing.