Have you ever heard web developers talk over each other? I enjoyed Mat​hia⁠s S​chäf⁠er’s Client-side JavaScript and React criticism: What comes next?. It’s a solid baby-bear take on meta discussions on the state of building websites.

I hear JavaScript critics yelling: “Just use Progressive Enhancement! Sprinkle some JavaScript on your static HTML! Don’t believe those fraudsters, grifters, bastards, idiots that lied to you!”

Again, I understand the frustration. Nonetheless, I don’t think the current situation can be explained in terms of fraud, lies, gaslighting et cetera.

I think we’re at the point where we agree that there is, in general, too much client-side JavaScript and it has negative implications. But it wasn’t the fault of a criminal overloard.

At the risk of being reductive, it came out of developers inventing things that helped them build the things they needed to build in a way they liked, partially because the web platform itself wasn’t giving it to them. They just dropped a few balls along the way. Now we can pick them back up.

Have you ever heard someone say “Put JSX in the browser you cowards!” and scratched your chin and thought “Yeah! They should!” well perhaps you could get involved with ESX, which is as far as I know the closest thing going on that. And if you say “Why? Template literals are that”, then I think you have some catching up to do because that’s been done six ways to Sunday with all sorts of different libraries. Perhaps the biggest push was Google’s Lit, which I think even Google has gotten bored of.

Have you ever thought “TypeScript is pretty complicated, but at least it’s not Set Theory!”? Never fear, Vladimir Klepov is here to ruin that for you with Making sense of TypeScript using set theory. I kid, I kid, it’s actually a nice way to think about complex types. I’ll steal the first two bullet points of the big reveal:

  1. Our universe is all the values a JS program can produce.
  2. A type (not even a typescript type, just a type in general) is some set of JS values.

Have you ever read that web performance concerns are 80% client-side concerns and 20% back-end concerns? Tim Kadlec verified that decade-old claim recently in The Performance Golden Rule Revisited. It’s still true. It largely means you’ll see more benefit from focusing your web performance improvements on client-side things. I’ve always thought, yes, that’s true, unless that 20% is really bad, because that 20% is the first thing that happens during website loading. That’s why metrics like Time to First Byte (TTFB) are important because they measure that first response from the server. Jeremey Wagner had a post about that this year: Optimize Time to First Byte.