Is it Time to Regulate React?
19 points by alanmeira
19 points by alanmeira
React won in some part because it elegantly solved a very real problem web developers had, which was that state bugs in DOM-juggling client apps were rough to find and fix. It solved it by creating some new different problems, but tradeoffs are part of every tech framework choice and in no way unique to React.
The "generation void of web fundamentals" is a programmer arrogance & incuriosity problem, not a React problem
React is no more a ‘web framework’ than React devs are ‘web developers’. React has spawned a generation void of web fundamentals and woefully ignorant of accessibility
No technology is perfect, but I’m not convinced that the web was better before react, or web developers somehow better.
Yes - half the time when people complain about React, they're actually complaining about the fact that React drastically lowered the bar to making interactive SPAs or SPA-like webapps, and so increased the odds that you'd face a poorly coded one.
A similar argument can be made about early tools which democratized access to creating even static HTML web sites. It did lead to some really awesome and creative sites, yes, but it also led to a lot of stuff that ranged from mediocre to actively bad.
It's very hard to democratize something without running into Sturgeon's Law.
This reminds of "the show" with Ze Frank, specifically this episode where he goes into the democratization of web pages (once you get past the song that is).
I'm obviously aware of the fact that it's not a good thing that most of the web is built on the framework of one company and that said framework allows for some extremely sloppy work to still be "good enough", but the benefits of React are huge and the author is very one-sided about the whole thing.
Having a fairly unified and somewhat opinionated framework to build your application on means that if you join a new project, you immediately know where to start looking and you immediately have at least a vague idea how to implement stuff based on what's requested of you. It sheds the bike for you, in return for occasionally demanding very baroque ways of doing things, which imho is still a lot better than Wild West-ing things.
I think the only ways React's dominance could budge is either if browsers/ECMAScript themselves co-opted features React is known for, or if there came a framework which a) provided even more ease of development b) was easily adoptable by React devs / allows for knowledge transfer c) and would have enough trust from major players not to fall into the trap of people liking but not trusting it enough not to disappear one day.
on the framework of one company
Then this may interest you: Introducing the React Foundation
I'm torn on criticizing it too much because in many ways React has helped promote improvements to the Web platform. Scoped CSS, import maps, declarative shadow DOM, view transitions...
It's hard to pinpoint them as React wins but these solutions became more important due to possibilities that React and its ilk uncovered. We had Web Components before React but they weren't at the level they are today and there was very little consensus on them by browser vendors. JavaScript libraries/frameworks became a testing ground for things that'd later come to Web Components standards (and there are still a few to come).
Even things like Early Hints and speculation rules can be framed as trying to solve problems that really only exist because of these JavaScript monstrosities, so there are cases of bad leading to good.
The main issue today is that Web devs don't know when to let go and use the Web platform with all it provides us in 2025.
I agree that SPAs are mostly bad, but the solution can't be to "embrace the web", because SPAs are "the web". At this point 99% of the web API is geared towards that kind of thing. And honestly in most cases if what you want is an "app" rather than a "website" you kinda need to do SPA.
The real solution is to stop embracing the web and start embracing native desktop and mobile.
But you have two different mobile platforms and three different desktop platforms to support! That's like ... a lot of work! And expensive developers! And mobile has a heavy development/deployment tax held by two companies, and the desktop computers aren't far behind.