Is React the new boring?Published on 24 June 2021
Man, things have changed.
5 years ago I was working at a little agency in Paris, trying to push for React (or for that matter, anything "new and interesting" in the JS community) with another developer. At least a small project, at least a widget, like, let us test this thing!
The answer was always "no". Why would we do that? What's the point? It's another fad, it'll fade out as quickly as it appeared. "Ugh, another framework. No? Oh, it's just a library? Why use it, then, when it doesn't have all the stuff that Angular ships with? We're happy with Angular, we'll stick the course".
Sure. If you got production projects relying on existing tech, you don't want to throw a wrench into the engine, and have it stall or break. I get that.
But resisting anything new that comes along, just because you're the senior engineer in the company, and "what we have works already", and you tested "that new thing" and didn't like it (for no specific reason, other than it being new), particularly when you got a bunch of junior front-end developers (that I was a part of) sitting around, eager to test new stuff?
Fast-forward 5 years, and React seems to be everywhere. Now, I'm not talking about client-facing websites, specifically. Sure, NextJS and Gatsby have made strides in that space, but personally I know people still building with good-old vanilla JS, skipping Webpack for Parcel (or anything easier to set up), and benefitting from all of the advances of modern JS and CSS, while building traditional, static websites (and yours truly is one of them, despite this blog running on Next).
But web applications? Man. Everywhere I look, it's React. Most front end job listings in the startup world are "all about that React". I mean, by this point it might even seem like a redundant thing to say, especially if you work in the field. Yes, Vue is there, too, I'm not trying to downplay the amazing community built around it, but this is a post about React, after all, and React is that "big thing" everyone used, that rocketship, the one everyone was going nuts about (one of THE big JS libraries) even before Vue was on the horizon, that today, finally seems to have reached a "stability" point, where it's just... There.
It's not "hot" anymore. Not "new". Not "dubious and dangerous". Not "wut?! HTML in my JS?!".
And you know what? That's a good thing.
That means it's stable to use in big, production-ready projects. That means the community has survived through the highs and lows, and has come together to make a tool, in the true sense of that word, and not just another "Here's my version of the solution to that problem. Go ahead, npm install it".
And now it has hit version 18 (alpha). 18 versions in the JavaScript world is a whole eternity. Even two versions are enough for a JS framework to undergo breaking-change-grade overhauls (looking at you, Angular) and a massive split in its own community.
It makes me think about Ruby on Rails. DHH's framework was able to hit that feel-good sweet spot for writing back-end (primarily). React did the same with front-end, and I think is largely responsible for bringing the word "engineer" into the front-end dictionary, with its architectures, state management libraries, proper CI builds & deployments, etc. It's what made me realise I'm not building websites anymore (most of the time), but applications, and that's not one and the same.
Now that it's "over", the dust has settled, and React is a true tool... I wonder what's next? And yes, I'm going to leave it at that, instead of picking the first 5 front-end related buzzwords and ending the article with nothing but noise.
Let's all do some quiet thinking.