top | item 43422420

(no title)

ng12 | 11 months ago

> Whatever framework you choose will be obsolete in 5 years.

I've been writing React professionally for over a decade at this point. I don't know what this guy's on about.

discuss

order

TimTheTinker|11 months ago

How many dependencies does your package.json file declare? Which versions of node/npm does your team use?

If you're on recent-enough versions and are using any popular libraries, you will have seen the deprecation notices pile up during npm install for downstream dependencies.

Sateeshm|11 months ago

Dependencies issue is not exclusive to frameworks. If you don't want to reinvent the wheel, there's no way around using packages, even if you go with vanilla JS.

jwr|11 months ago

None? I use it from ClojureScript. I've been maintaining a React-based app with Semantic UI for 10 years now.

theknarf|11 months ago

Java and .net developers also uses dependencies, and they too need to upgrade their dependencies (and sometimes switch out deprecated stuff). Definitely not a Frontend issue.

kerkeslager|11 months ago

I've been writing React professionally for over a decade and React from 5 years ago is obsolete. Like, literally won't build with current tools. To their credit, I think the React code itself has maintained reverse compatibility pretty well (it's not React's fault), but the build systems I was using 5 years ago have all changed and broken reverse compatibility. EDIT: Forgot about component lifecycle methods...

Even a well-maintained project like React can't escape the squalor of its ecosystem.

I don't always have this option, but usually these days I choose vanilla JS, imported with no build system, do as much as I can with Python/Django on the backend, and opt out of the JavaScript ecosystem entirely. I haven't regretted it.

PaulHoule|11 months ago

Some of the problem with React and npm is that they are a victim of their own success.

React lets you suck in 80 components from 15 different vendors and it works. NPM lets you suck in more dependencies than many other systems because it deals with diamond dependencies better than other systems [1]

Because you can mix and match so many widget sets no wonder you will have trouble when those widget sets change.

[1] package A can import version B of package C, package D can import version E of package C -- so long as A and D don't exchange objects from package C there is never a problem, even if they do it might work.

incrudible|11 months ago

> To their credit, I think the React code itself has maintained reverse compatibility pretty well (it's not React's fault), but the build systems I was using 5 years ago have all changed and broken reverse compatibility.

That's a problem with your build system then, not React. There is (or was) indeed a lot of churn in build systems, but you wouldn't have been spared unless you had chosen to not use a build system - which is still possible with React, but not with Svelte, Vue or Angular.

My current position on build systems is that if it doesn't work out of the box with esbuild, I'm not using it. If it does work out of the box with esbuild, then it's likely also going to work with whatever comes after.

justinrubek|11 months ago

If it's a 5 year old project, you probably shouldn't be building it with the current versions of tools. You need to pin your dependencies and use the same versions of the tools as before. It'd be the same thing with libraries if you didn't have a lockfile. Your development tools need one too.

olliepop|11 months ago

Component lifecycle methods to hooks and HOCs, does that ring a bell?

ng12|11 months ago

Yeah, and I'm not anywhere near as distressed about it as this article implies I should be.

regularjack|11 months ago

The transition to hooks was worth it.

crab_galaxy|11 months ago

Class components and HOCs aren’t deprecated though.

michpoch|11 months ago

How's your Create React App support in 2025? Are you still keeping your app on React 15?

robertoandred|11 months ago

It takes ten minutes to switch from CRA to Vite.

ebiester|11 months ago

My current firm is still on 16 and just trying to make it to 18 because of the deprecations.

All of the WYSIWYG editors that work on 16 are no longer supported. it's a "cross your fingers" in case someone found a security issue (or don't use them)

React 16 is still supported, but it's definitely obsolete.

davidmurdoch|11 months ago

Idiomatic Reacts historical changes pretty often. In large codebases major version upgrades can take teams multiple quarters to complete.

vinnymac|11 months ago

Same I’ve been writing React for 11 years now.

Before that I used Backbone on top of jQuery.

Before that I used jQuery.

Before that I used the document, but I still use the document.

I have barely had to learn anything each decade.

dagorenouf|11 months ago

I have too and the react of today is vastly different from the react of 5 years ago. Which itself was vastly different from the original react.

It’s different paradigm, best practice, file organization, etc.

So it’s close to learning a new language.

And I won’t even go into the fact that Next is replacing React as the standard.

figassis|11 months ago

Didn't React deprecate itself entirely circa 2018?

pelagicAustral|11 months ago

They just keep stirring his slop and he keeps eating it, that's all I'm reading here