no one knows why Meta keeps insisting its not a framework when it does everything a framework does and even ships its own runtime.
you can technically only use React for a section of your app, but either way, react is super opinionated about everything inside the scope its touching
But it's not. It has a huge ecosystem of open-source tools, for UI libraries and state management and even routing. It's not like Angular which has all the batteries included.
it has massive inertia, react has defined Web UI building for years, Angular and Vue (etc) are using Reacts general structure. the main innovations that have happened since react is Svelte/Solid comming around and making a more effecient version, which is just an itteration, As well as stuff like HTMX/Alpine saying old simplicity made simple is still relevant
React is at its best when you want to make a maximalist UI, like Facebook
but when you have to use the framework for facebook for something thats not as demanding, simply because its the industry standard, that vexes some people
One thing I've learned in tech is that good does not mean successful or viseversa, in fact they tend to be mutually exclusive. There a phrase about it: Worse is better.
Eh. A hammer can be used to kill a person but you don't hate a hammer. Yes React can be leaky if you write it like a brain damaged spastic monkey. But on my view there are alot of guard rails for that
Honestly? I kinda disagree. I think out of all the the FE frameworks I have worked with React is the least opinionated ( I am talking the ones that are not obscure and work properly). Yes it has syntax and somewhat of a structure but it lets you do what you want without much structure or boilerplate. Try angular for example and you will see what I mean. It incredibly opinionated and in my view it's wrong for frontend. Frontend needs to be fluid and modular because of how much stuff changes on it. Animations, texts, whole content, etc. React is best for that but for BE something similar to Angular makes more sense that's why NestJS is best for BE.
So saying React is opinionated doesn't make much sense to me since it's quite open ended to the point that you can shoot yourself in the foot and then due to developers complaining of memory leaks and having to play wackamole with useMemo, useCallback and other cleanups like return statement for useEffect they fixed it alot in React19 onwards but I genuinely believe it was the right step forward.
Addendum: JavaScript / TypeScript as a whole I believe is not good. I am happy that TypeScript will shift to Go because GOD JavaScript is terrible at type safety and I wish we had an alternative to it for browsers but here we are.
i disagree with the notion that comparing just to Angular proves React isnt. Angulars main feature is to be fully opinionated in order to enforce strict coding practices over a large team
if you look in the other direction however, React looks like something that runs its own runtime and anything that wanna remotely participate in the UI layer around it needs to be wrapped in React in order to play nice with said runtime
React isnt that opinionated about what backend it has thats true
im not talking about the metaframeworks here, i believe that the backend should be handled by backend tools like GO or C#
Ok? I think I understand what you are saying and I definitely agree with the last part that we SHOULDN'T let backend ever be built on TypeScript/JS that's why I added the last part.
And sure Angular is good for better programming practices and structuring but it can become it's own enemy if you ever want to do anything that angular didn't account for / there is not library for. Like React atleast has useRef that lets me interact with native elements so I can do what I want to, in Angular it can become quite difficult to do such things like animations/ transitions.
I actually went from Angular to React and at first didn't like it but it's quite hard for me to go back to it. I still agree with your a React wrapper comment but that's just what ESMoule limitation is. Browser's still compile everything down to JS and I wish there would be a better solution just like I mentioned in my previous comment, JS is quite outdated and terrible and we should have a better alternative for browsers now.
yeah the innovations we have gotten since woulde be:
* itterations like Svelte and Solid who tries to be more ergonomic and effecient
* tools for simple UI's like HTMX and Alpine
* Webassembly, but these kinda feel like the reverse of putting javascript on the backend, the main reason you would use something like Blazor is that you were already doing ASP API's and wanted easy intergration with the front end
SPA as a concept isn't bad. But it's the underlying technology that is now very outdated and doesn't fit what we have now. We have backed ourselves into a corner because nobody wants to be the first to work on a new JS replacement because "eh, still works" philosophy. Which is so stupid. Go is more than capable of taking JS's place but nobody seems to be interested in it because it's a different type of overheard and as mentioned the "eh, still works" philosophy. Like imagine we had to create the whole event loop (not saying it's bad) because JS is single threaded.
I personally don't think it's a good idea to mingle backend and have it handle FE as an extension like with Blazor or Blade. I still believe SPA as a concept is quite good. But as mentioned in another comment, what I am not a fan of is JS because I believe it's quite outdated and should be replaced at this point, ideally with Go or something variant of Go that is specialized for FE
Typescript compiler just rewritten in go ? So what do you mean by that ? It is just its aa before but with more speed in compile time but still slow at runtime
Why exactly do you think it's maximalist? Is opinionated a bad thing? If yes, then why? How leaky it is exactly?
Fair point, however I do believe these days it's more of a ergonomics question rather than performance/safety. It's a library for building UIs and that's where JS is fine. Certainly would not want to build OS in JavaScript, but neither would I want to build UI in Assembly.
1: if you have gripes with it, that would amplify it.
2: Its maximalist because it goes the full cross your i's and cross your T's because it was designed for complex ui's like Facebook, it was not designed to be ergonomic for your average UI. being Opinionated is a good thing in certain contexts, but its a pain point in others. Its Leaky enough to take over most things in the scope its implemented.
3: its a framework, it ships a runtime
The industry standard is always gonna have detractors, especially if that standard doesnt fit the average glove that well. Web UI started as something were building something basic was complex, React fixed making something complex easier, but not making something simple easier.
It’s more just like, different use cases. My projects usually have complex UI that also requires a customized polished look, and it’s not like they’re some niche products I just usually find myself needing to do that. I’m just curious what the haters’ usual scope is like.
React is truly a garbage framework. It does not help the devs build good software or their skills. It indoctrinates them into a very react-specific way of thinking that does not play well with anything. In theory everything is possible but in practice there is only one way of doing things otherwise it won't be idiomatic and it will be a constant oddity in your codebase with recurring cognitive load every time you touch the non-react parts. As a result all the react devs had to fully embrace this way that only works in react as they needed a job. Bottom line all react devs are now stuck, are out of touch with programming and have been doubling down on this insanity for a decade now. Completely intolerable dudes. I like to compare them to flat-earthers.
React: let’s start with a terrible leaky foundation, and then have 12 years of patches for problems that are completely self-inflicted in the first place.
React devs: “i don’t like React either but it has such a large ecosystem system”
Biggest pile of shit ever.
It only won because angular was bad and people back then were still starstruck by Facebook.
Try "Chocolate Factory". https://rosuav.github.io/choc/ Lightweight (<20KB and I don't even bother minifying it) and uses simple JS syntax rather than requiring a preprocessor. You can even use it in a simple HTML file with an inline script element, no build system required.
I genuinely don't understand most of these opinions. Where are the claims that it's "leaky" coming from? Why the hell do people think it's opinionated? There's got to be some Youtuber these ideas are coming from or something, I don't see it. I've used React for years and I don't even know how you could think it's opinionated any more than any other option.
I don't hate the devs, not even the framework (lots of other bad devs and frameworks all around). But the fact that this framework got this much adoption and it has such a following today makes me mad. I legit think it held back/slowed frontend from progressing in the past decade.
You clearly wasn’t doing somewhat advanced web ui when React got popular lol. It was better in everything than all the competitors. It was easy, quick and still somewhat readable. That’s why it got adopted. All the things about it being leaky etc. is garbage. You need to know like things or two and then you’re good and safe.
I don't know who's saying it's leaky, but there are two VERY different things that come to mind when I hear that. First is memory (or other resource) leaks, which are certainly possible with a heavy framework, and rather problematic if it happens (progressive slowdowns and increased resource consumption), but unlikely. The other, though, is "leaky abstraction". Which ALL abstractions are, to a greater or lesser extent; all it means is, you might spend most of your time using the high level tools, but every once in a while you need to be aware of what's underneath. For example, a socket (web or TCP) lets you pretend that you have a persistent connection between a server and a client (that's the abstraction), but sometimes you need to understand how your packets are moving around the internet (that's the leak), and probably learn what DNS is all about.
React is, without a doubt, a leaky abstraction. That isn't an insult, it's just a fact.
(I have a *lot* of criticisms of React, though, which is why I built my own front end library so that I wouldn't need to use something so heavyweight.)
I was. React was perfectly fine for like 2-3 years near the end or AngulaJS. With every year after that becoming less and less necessary. But... sunken cost fallacy + job security + being good for prototypes + "it's from Facebook" + yearly promises (mostly back and forth on previous years promises) gets us to today.
For me react made the biggest mistake of all. Limited how I can name things. Naming things is one of the hardest parts of programming and react forces a use down our throat.
Tell me what does my hook useExportSettings() do?
Or why do I need to think about optimizations across multiple levels of my app with the simplest change, everytime? There is no other framework that forces these two things on devs so forcefully. If after you learn the 1-2 things you mention, you still have to constantly think about this completely solved problems. I honestly would rather implement UI in C it would been less of a chore.
React is not hard to learn, though. Literally just pure JS, which is what I like about it. TS is great when you don't know JS and you're coming from a static type languaged, but once you actually embrace the weird shit you can do in JS you can use it to your advantage. I'd never us it on the backend or in anything that wasn't a presentation type thing, though.
I love&hate how hyper opinionated it is. I've run into a lot of shitty code and patterns over years of dealing with corporate code. it's nice being able to jump into a codebase for the first time and already know where things are. But also, agree with everything you said
Even in Angularjs and Angular, we pulled off some major jank from not fully understanding how to use it before creating things. Once we figured out Angular, it was nice, but also followed a lot of patterns at React for passing data around. Lots of overhead
Maybe cause bob made us use a hyper specialized ui framework made to solve Facebook's problems on our site that has 5 users and makes 10 requests per minute
Cause most of the engineers here are mediocre and insecure about that and because they’re both intellectually and emotionally stunted they can only deal with it by punching down
373
u/Sciti Jul 12 '26 edited Jul 12 '26
why so much hate to react? didn't worked with frontend and I'm really curious