6 ms·
React isn't winning by default. It's been so effective, so well designed that it's lived long enough to become the defacto standard... and the villian. Claimin
by whoknowsidont 1y ago
React isn't winning by default. It's been so effective, so well designed that it's lived long enough to become the defacto standard... and the villian.
Claiming React is slowing innovation is an absolutely bonkers take when React is essentially the only sane stable choice in a sea of "me too" frameworks and libraries with conflicting and confusing design choices.
- 1970-01-01 1y agoIt's the inversion of the title. Innovation is unable to keep up with the winning React formula.
- bluGill 1y agoHow much innovation is needed. often iteration is better and cheaper.
- ecb_penguin 1y ago> How much innovation is needed Enough to make it worth it to switch, but not so much that it's hard to switch > often iteration is better and cheaper Fortunately React has had major changes over its lifetime that iterating with React was/is the better and cheaper solution.
- hobofan 1y agoMaybe my view is tainted by how Next.js implements/propagates it, but the last ~5 years of React has mostly seen iteration in the form of RSC (React Server Components), which in many projects manifests in chaos and creates a steeper learning curve. I do think that React in its history has been able to evolve quite meaningfully, and in a good way (lifecycle methods -> hooks), but in the more recent years, less so.
- zelphirkalt 1y agoThat's the crux of the matter isn't it? They want to have a JavaScript framework, but when you run it in the browser, all the accessibility issues pop up and additional workarounds are needed, to get the default browser stuff working properly again. We all have seen the many many websites, that break the back button. So they move rendering back to the server, where it was before, with traditional templating engines. But oh, now it's not so nice any longer? Could it be, that the whole approach is not actually that great? Could it be, that a traditional templating engine with a tiny js framework, that is only served on pages when needed and only does little interactivity aspects would serve us better in almost all cases of websites? I think React and JSX and custom components as they are in React with JSX have people "programming" things, that don't need that kind of programming, as they are static things, that do not need the power of a full blown programming language behind them. In a way JSX is even more cumbersome than some PHP, because it makes you learn a new wannabe HTML syntax, which is not HTML (for example classList instead of class) for little benefit on most websites.
- gitaarik 1y agoReact was innovative when it just appeared 12 years ago. But a few years after there were already many other frameworks doing similar things. And since then it has been good enough, but not the leading innovative frontend framework anymore. React has rather matured in dealing with it's own outdated Virtual DOM design, making it much more boiler platy than modern alternatives.
- spanishgum 1y agoWhat metric would you use to define the leading frontend framework, and what is it? I'm familiar enough with Angular, React, Flutter, Vue, and Svelte as big names in the ecosystem, but have really only done scrappy development with React and not much with the others. Google trends seems to show React is still a leader [1], and React has more than double the amount of Github stars than any of the others I've mentioned except Flutter, by which it still leads a healthy margin. - [1] https://trends.google.com/trends/explore?cat=32&date=today%205-y&geo=US&q=React,Vue,Svelte,Angular&hl=en https://trends.google.com/trends/explore?cat=32&date=today%2...
- itake 1y agoThis FE survey also has React leading by a wide margin: https://2024.stateofjs.com/en-US/libraries/front-end-frameworks/ https://2024.stateofjs.com/en-US/libraries/front-end-framewo...
- danlitt 1y agoThey said "leading innovative framework", and innovative is the key word. The biggest player is almost never innovating, they are usually performing some kind of undeserved market capture.
- gitaarik 1y agoIndeed, I meant leading in innovation. React isn't innovating, it's just improving what it already does, but it doesn't do it in a new way. That makes it stable, and a safe choice for devs. But yeah indeed like the article says, it kind of stagnates innovation in the ecosystem. But yeah I guess that is because React is usually "good enough" in most cases. Not enough reason to use something else.
- actinium226 1y agoI humbly disagree. I've never built a highly interactive application with React, only simple sites where the guys before me chose React, so I can't speak to its relative strengths or weaknesses there, but I've found that it doesn't scale down very well to simple sites. For a simple sign-in page, it's easy to just store state in the DOM and use a <form> element to send the credentials, and maybe a little JS for the password show/hide button. But to implement it in React you have to go on a steep learning curve to learn about JSX, hooks, the component lifecycle, building the app for dev, packaging it for prod, and more. Other frameworks, like Vue and Alpine, let you use them "progressively" and you can even do so with a CDN to avoid having to set up npm/vite from the get go. Their intro docs have instructions for how to do so, along with the relevant caveats React claims to be progressive, but since it's JSX it requires a compile step. Its intro docs do not have instructions for using it via CDN. You can make it work if you really want to, but it basically requires shipping the compiler to the client along with the JSX and doing the compilation client-side, which obviously scales so poorly that their docs don't cover it. To recap, my whole point is that React scales very poorly down to simple sites. And since most site are not Facebook or the Spotify web player or Netflix (and even Netflix is moving away from React: https://x.com/NetflixUIE/status/923374215041912833 https://x.com/NetflixUIE/status/923374215041912833), I think it's very hard to argue that React is effective or well designed.
- auggierose 1y agoInnovation is not really measured in terms of how well something "scales down".
- balamatom 1y agoYes. Innovation used to measured in gigaquacks. A decade ago. With the process improvements of 2025, if it doesn't take you an innovation pool of at least 16 petaquacks to display a webpage, are you even trying? Anyone else up downscaling their innovation?
- sixtyj 1y agoI love boring stack. No nodejs and its dependence hell, no compilation, no frameworks that need reading encyclopedia to make a simple form :) PHP or blazing fast PHP-fpm, MySQL/MariaDB or Postgres, json for config, jQuery… it is good enough for most cases. For Netflix, Spotify, Facebook, Waze, and other heavily used sites with millions users… it is a different game.
- zwnow 1y agoLooks like you never used Vue.
- chvid 1y agoAlso react in particular in combination with tailwind seems to be easier for LLMs to generate. Probably due to the condensed syntax, no split between code, css and html, plus the color naming scheme of tailwind.
- Jolter 1y agoProbably due to the extremely large amounts of React code in the training data set, not due to any inherent advantage of the framework. LLM coding will lead to stagnation in languages and frameworks as developers start considering how competent their favorite agent is in each domain.
- chrismorgan 1y agoLLMs favour React and Tailwind because they’re popular, so they’ve seen a lot of them, not because of technical merit. This is the very manifestation of React winning by default and slowing innovation.
- DimmieMan 1y agoGiven the quality of some of that combo I’ve seen vomited out, it’s technical dismerit. I wonder if you’re better off with something critical mass enough that an LLM can correctly write it at all but not trained on mountains and mountains of slop.
- calderwoodra 1y agoThis has been an interesting realization for me, seeing the LLM well poisoned by its poor understanding of hooks and effects has opened my eyes up to how much the average developer also doesn't understand these things.
- icedchai 1y agoI'm terrible at CSS and have been generating HTML/CSS prototypes with Claude. It really knows how to push out tailwind.
- irrational 1y agoHave you actually used Vue or any of the other options in a full application? Because what you are saying doesn’t match my experience.
- deleted 1y ago[deleted]
- whstl 1y agoI don’t see why something being good means it can’t also be stopping innovation. This feels like a misattribution, due to halo effect.
- friendzis 1y agoIn what way React is anywhere near well designed? Look over quick starts of React and Angular, for example. One is a well structured application, the other is a spaghetti script, all held by magic and conventions. If you recall the (in)famous "PHP: a fractal of bad design", React basically ticks every box in this rant and then some. It's not surprise knowing it's origins, but still. The reasons React has got traction are the same reasons PHP got traction or web frontend dev in general and have nothing to do with being well designed: it tries to "render" something visible, which makes early adoption much more interactive (hey, I've changed one line and now instead of 15 errors I have 25 different ones and the text moved!), however at the cost of any shot at long term maintainability. Before someone comes and tells me React is just a tool and you can make good products with any tools I encourage you to look at all the headliner star projects by Meta: if they cannot make websites in React at least somewhat functional and stable, no one can. Google headliners built with Angular, for all their warts, are at least for the most part functional.
- watwut 1y agoAfter working with both, React is massively more readable and easier to work with.
- lomase 1y agoAfter working with both, Angular is massively more readable and easier to work with.
- InsideOutSanta 1y agoI guess it's all subjective, but I'll take learning a new Angular codebase over a React one any day of the week and twice on Sundays. That's simply because you learn Angular once, and then you learn the half dozen things that can differ between projects, and then you know how it works. For React, every project has its own stack and conventions. I probably won't disagree that the ceiling for a good React project is higher than that for a good Angular project, simply because you have more freedom to make good decisions. But in the same vein, you also have more freedom to make bad decisions, and most people tend not to be very good at making these kinds of decisions.
- tcfhgj 1y agoAngular is quite stable as well
- potamic 1y agoIt may be effective by sheer force of adoption, but it's not well designed at all. It has never been through all its iterations, with each one imposing a new programming model on its users and I predict what we have today will not be the last! It started simple and sound idea but had its quirkiness with shouldUpdate, didReceive, willUnmount. But that wasn't enough, to write decent applications, you need to do unidirectional flow. You can do that, all you need is actions, action creators and dispatchers! Now you have all this bloat that eventually leads to reflux. While you're tearing your head screaming "What the flux", redux comes along and says hey you know what, if you just write a giant switch statement, you don't need dispatchers. And everybody liked not having to read about dispatchers, so redux was here to say. If it gave more problems you can just create a toolkit around it. Besides, it claimed to be functional. Surely that means it works, right? Now you could rub shoulders with those cool clojure kids who seem to be getting all those high paying jobs. But the cool clojure kids are not impressed. They say, class is something you are, not something you write. So you hang your head in shame and promise to never write classes again. While you're untangling yourself from this mixin mess you got mixed up with, an epiphany hits you. If you can emulate a class using functions, then you don't have to write classes again! And so you finally get around to ridding yourself of classes. Sure it means you have to write more functions, and nested functions and wrap all your functions and shove the state away somewhere you can't see, but it makes everything functional, which means it works. Except for handling exceptions globally, you'll need to use classes for that. And by the way, don't worry about unidirectionality. Everything is asynchronous now.
- baxuz 1y agoReact is a good POC and a was a necessary step, but it's far from well designed. The performance is atrocious unless you want to spend most of your time ejecting from the framework to do any realtime work, and building meta-tooling that uses direct DOM manipulation and only occasional state syncing with React, like video keyframes. This is the approach taken by many projects, including tldraw, framer, everything from poimandres, and many things from tanstack. The issue is that it's a "demented" framework where everything re-executes all the time and it's up to you to manage repainting and memoization manually. Because a "render" is executing the entire component tree. The compiler is just a massive band-aid on a fundamentally broken architecture, that every other framework has moved away from.
- JimmaDaRustla 1y ago> so well designed lmao as if they didn't have to completely re-invent itself from scratch using hooks because it's design and performance were utter garbage. It wasn't until Svelte and SolidJS showed how bad Vue and Svelte were performance-wise for both of them to fix some of their glaring flaws. > sea of "me too" frameworks This couldn't be farther from the truth - those frameworks are completely different. Svelte and SolidJS looked at React and Vue and said "this can be done without a virtual DOM", and they did so...and absolutely obliterated them in terms of performance.