A Triumphant Return to React

Have you seen house prices lately??

Here in sunny Athens GA, housing costs have doubled in the time since I was offered my meager salary at my current job. Because of this I've begun to ask these questions of myself:

  1. Why am I resisting the industry's love for React?
  2. Why am I not grabbing one of those sweet, sweet React dev jobs?

Listen, there are certainly reasons to avoid the monolith. Is it bad for the web to have every could-be-static webpage load a 25mb bundle? Sure! Is it wrong to legitimize a company which is partly responsible for the fall of democracy? Probably! But I'm not finding those six-figure jobs writing everything in Svelte, and I doubt I ever will.

It's not so bad, when you really get into it.

This website was built with Remix.run, which promises very, very fast SPAs. I don't know if this is true; I'm almost certain that a Wordpress blog would've been easier for me and quicker for you to load. I chose is because it's new, it's shiny, and it's not pushing me to use Vercel.

After years of running away from React, I will begrudgingly admit that coming back to it was easy. Sure, it took a few minutes to look up all the names of hooks. Sure, it was tough to write "className" at first. But after a while it was just as easy/annoying as it had ever been. Despite my best efforts to hate it, I could only muster the faintest bad taste in my mouth every time I converted a CSS property to camelCase.

But isn't that setting the bar just a little lower than it could be? I wasn't actively angered by the development experience, but I wasn't blown away either. You can argue that as the custodians of the industry standard library, the React team is responsible for creating a stable, extensible API. But the web should fun, not stable. Who cares if things break?

I had hoped that when I returned to React, triumphantly bent over under the weight of all the other frameworks and libraries I had conquered, it would have matured into perfection. Instead, it's just a little boring. But Justin, it has error boundaries now! So what? Good developers write code without errors. But Justin, it handles promises better now! Who cares? Promises are useless. If it's not worth blocking the main thread, it's not worth putting in your app.

Don't email me with your responses to these complaints.

I don't want to hear it. Just send me job offers so I can start cranking out thousands of lines of JSX that could probably be HTML.