Front-end web development

More React drama on Twitter this week: a couple of skirmishes around Lighthouse scores, the cost of a page refresh, apps vs. documents, how long should a page be alive. The usual tension between data-driven vs. if-the-stakeholder-is-happy decision-making. A weird amount of handwaving over Jira.

It reminds me of this post from Baldur Bjarnason—specifically, point #82:

...web dev is a pop culture with no regard for history, dooming each successive generation to repeat the blunders of the old, in a cycle of garbage software, wrapped in ever-escalating useless animations, transitions, and framework rewrites.

He's right. Although there's a small class of discerning developers producing wildly successful open-source software (and thus powering a significant proportion of the Internet), and although there's another class of developers building interfaces for the handful of web applications that get truly massive traction (think Jira, think Spotify)—the vast majority of developers at the grind on the frontend are mercy to the developer ergonomics thought-piece of the day. There are business decisions being made all over the world on the basis of which hot take got the most likes on Twitter.

(A sidenote on the cycle: just imagine the hours poured into Next.js over the years. Next.js is the gold standard for React in 2022, but in practice it effectively accomplishes the same thing as PHP + Turbolinks. Most of the value proposition of Next.js is actually Vercel's serverless platform.)

Wes Bos & Scott Tolinski have a relevant perspective on all of this, whenever a question about which technologies to adopt comes up in one of their listener-question "Potluck" episodes of Syntax: if something is going to stick around long-term, you don't need to be an early adopter. The best React developers aren't necessarily the ones writing React.createClass(). Bos & Tolinski have to stick to the cutting edge because they sell courses—but the rest of us can hang around while frameworks go round the Tech Tool Carousel before committing.

Web Code Frontend


The Remains of the Day