4 ms·
> React is under-appreciated in some circles of the fast-moving JavaScript world, where people are somehow expected to rewrite all their code from scratch ever
by madeofpalk 1y ago
> React is under-appreciated in some circles of the fast-moving JavaScript world, where people are somehow expected to rewrite all their code from scratch every couple of years or so, after somebody starts shouting "framework X is dead", and everybody starts focusing on the new hotness.
Has this ever really been the case in the past 10 years?
- tobr 1y agoNo, and not before that either. It’s a bizarre thing to say, honestly. React is used near universally, despite there being alternatives that are better in almost every way. That is the opposite of being under appreciated. Hype about a new technology, deserved or not, doesn’t mean that everyone is throwing their old code away, especially not their jobby job code.
- prhn 1y agoLet's not conflate the two things that were said. It is absolutely true that companies were rushing to rewrite their code every few years when the new shiny JS library or framework came out. I was there for it. There was a quick transition from [nothing / mootools?] to jQuery to Backbone to React, with a short Angular detour about 13 years ago. If you had experience with the "new" framework you could pretty much get a front-end gig anywhere with little friction. I rewrote many codebases across multiple companies to Backbone during that time per the request of engineering management. Now, is React underappreciated? In the past 10 years or so I've started to see a pattern of lack of appreciation for what it brings to the table and the problems it solved. It is used near universally because it was such a drastic improvement over previous options that it was instantly adopted. But as we know, adoption does not mean appreciation. > React is used near universally, despite there being alternatives that are better in almost every way. Good example of under-appreciation.
- fkyoureadthedoc 1y agoHaving worked in both over the years the main technical thing React had going for it over Vue, in my humble opinion, was much better Typescript support. Otherwise they are both so similar it comes down to personal preference. However 0 of the typescript projects (front and back end) I've worked one (unless I was there when they started) used strict mode so the Typescript support was effectively wasted.
- madeofpalk 1y agoI read parent's comment as an assertion that the current "fast-moving JavaScript world" expects everyone to rewrite their app. Personally I've never seen this, but since React became popular ~13+ years ago, I struggle to believe this has actually been true for others in any meaningful way.
- tobr 1y agoNo, I was also around when React was new, moving to it from tangles of jQuery and Backbone. I absolutely know React brought several lasting innovations, in particular the component model, and I do appreciate that step change in front-end development. But other frameworks have taken those ideas and iterated on them to make them more performant, less removed from the platform, and generally nicer to work with. That is where we are today. I agree that there was a period where many organizations did rewrite their apps from scratch, many of them switching to React, but I think very few did it ”every couple of years”, and I think very few are doing it at all today (at least not because of hype - of course there might always be other reasons you do a big rewrite). We should not confuse excitement about new technologies for widespread adoption, especially not in replacing existing code in working codebases.
- accrual 1y agoMootools is still around! "Copyright © 2006-2025". I don't know anyone who uses it, but glad it see it's still going. https://mootools.net/core https://mootools.net/core
- tshaddox 1y agoMooTools also features in the infamous SmooshGate: https://developer.chrome.com/blog/smooshgate https://developer.chrome.com/blog/smooshgate
- Izkata 1y agoThe "in some circles of the fast-moving Javascript world" is important - they're not saying everyone or even most, they're saying proponents of the "better" systems (who do rewrite regularly) dismiss React's stability as unimportant or indicating it's dead when it's not.
- alsiola 1y ago> the opposite of being under appreciated > despite there being alternatives that are better in almost every way. This right here is the under appreciation. The new way to signal to others on forums that you are a really really great dev seems to be to bring up how much better some bizarro templating engine that abuses a niche JS language feature is.
- paulhebert 1y agoThis seems like a very hostile and uninformed take on the alternative tools. Have you tried building anything with Vue or Svelte recently? Can you provide some concrete issues you ran into beyond them being “bizarro”?
- alsiola 1y agoI consider this example fundamentally broken, in a non-obvious way that reflects, in my opinion, a poor API choice. <script> let numbers = $state([1, 2, 3, 4]); function addNumber() { numbers.push(numbers.length + 1); } const sum = numbers.reduce((x, y) => x + y, 0); </script> <p>{numbers.join(' + ')} = {sum}</p> <button onclick={addNumber}> Add a number </button>
- recursive 1y agoI'm curious what makes a template language bizarro, and why JSX is or is not bizarro?
- alsiola 1y agoJSX is just sugar around JavaScript, and interops nicely with it. I'm okay with that. The more I write JSX, the better I become at the programming language I'm using. Concepts and patterns in JS can be adopted in my components. If I learn Vue's templating language, then I'm spending my time learning a system with no wider applicability, a much narrower tooling space, that doesn't utilise my previous or future experience from JS. That's not a good calculus for me.
- fkyoureadthedoc 1y agoI think it's because around 2015 or so there was a lot happening with front end frameworks, and the sentiment comes from then and people have just not updated their priors since. AngularJS was pretty popular at the time, Angular 2 migration was looming, backbone still existed, jQuery (standalone or paired with both) was going strong, Polymer hit 1.0 and it looked like Web Components might actually be something and useful, React was gaining a lot of popularity, Vue was gaining a small amount of popularity, svelte an even smaller amount, Meteor was somewhat popular and had its own front end library. Of course in addition to all that, traditional server rendered sites were more popular then than now and there were even more options there. However, React quickly became pretty much the default. Not that there's 0 churn there. The "right way" to do React has changed quite a bit in the last decade. And early on before all the libs people liked to glue together somewhat matured/settled it was common to have to replace stuff that just got abandoned. More than once I had to pick up someone's old unmaintained project to do a bug fix only to find I couldn't even get the project to install/run because it was in the pre auto lock file era and nobody ever ran `npm shrinkwrap`
- tshaddox 1y agoReact often gets lumped into general JavaScript hatred of the form “the entire ecosystem of tooling/frameworks/libraries changes every few months.” That’s despite React existing for one third the lifetime of the World Wide Web. React is older now than jQuery was when React was first released.
- epicureanideal 1y agoAlthough aside from JSX, so much has changed it could’ve been a new framework at least once, and part of its longevity is that it doesn’t bundle a router, form handling, etc, and the popular ones of these have changed many times.
- throw-10-8 1y agoNo and I say it's actually the exact opposite. Its gotten so bad that when I read FE dev I interpret it as "React Dev".
- azemetre 1y agoReally feels like react has held back frontend development. The idea that everything on the web should be written in react is baffling but I'm sure people thought similar thoughts when jquery or angular were popular.
- throw-10-8 1y agoAgreed, its become its own terrarium like ecosystem at this point.
- jitix 1y agoThis could be because of developer fatigue and the trend of forcing backend devs to do fullstack. Its very hard to keep up with the frequent changes to programming models, new frameworks, CSS libraries (why the heck are they soo many?!) when you also have to design O(Log n) backends, IaC, Observability, LLMOps, etc. I have come to a compromise and have started advocating for React/Redux/TS/NextJS as the default CRUD application stack so that I can focus on solving real CS problems in the backend that I’m passionate about.
- azemetre 1y agoBut react is where developer fatigue is most endemic. Since it only does one thing, that typically means you have to import a dozen other libraries that are mostly "flavors of the month" captured in time. You can easily tell when a react project was started based solely on it's dependencies. This is bad because it typically means no two react projects will use the same dependencies. These dependencies are the root of the issue. FWIW, I've only ever professionally work with react on the frontend. For nearly 10 years too. My first job I was doing react.createElement() before classes were shortly introduced afterwards. It's time that we move on to something better, and the react foundation being controlled by private entities while not being an actual democratic foundation is a good omen of what to expect.
- darepublic 1y agowell ironically it happened when react came on to the scene. Many react rewrite projects (from jquery with handlebar like templates, angular 1 etc)