News for hackers. Stuff that matters.
Re:React 19 by exceptione on Thursday December 05, 2024 @03:11PM (#42332188)
The problem I have with many of such advice: 1) what do you precisely mean and 2) why do you think so.

Do you mean the whole field, so from B2B SPA apps to personal blogs? "If you want to replace jquery, use Vue!" would be more helpful to understand.

The problem is that we don´t know if the advice comes from a "bootcamper" that has only learned Javascript. You know, some people manage to build low-interaction sites that will render a blank page when Javascript is disabled.

The "why" is also of interest to see if the advice is applicable. If not react, then why not preact for instance?

Re:React 19 by hirako2000 on Thursday December 05, 2024 @04:19PM (#42332885)
My main dislike for React is that I'm constantly learning React, its intricacies and idiosyncracies.

Disproportionate amount of energy I would rather spend learning JavaScript, something that would last.

Using React since 2013. Each release is an excitement, until I realise some chunk of concepts which altogether took months to fully grasp, are gone. Some even needed to be unlearned.

A lot of abstractions.

React doesn't make you a better developer, it makes you a better React developer.

I don't feel that with Vue. I don't feel that with most libraries I use.

Re:React 19 by qt31415926 on Thursday December 05, 2024 @04:34PM (#42333025)
> React doesn't make you a better developer, it makes you a better React developer.

React's pure component functional style translates really well to nearly every other type of software development.

Re:React 19 by erokar on Thursday December 05, 2024 @05:48PM (#42333728)
Practically every frontend framework uses components. The problem with React is that so many of its abstractions are leaky and forces a lot of accidental complexity on the developer.
Re:React 19 by dansiemens on Thursday December 05, 2024 @07:12PM (#42334398)
Which abstractions are leaky? State is complex. There’s not really a way to get around that.
Re:React 19 by yawaramin on Thursday December 05, 2024 @07:25PM (#42334504)
Dependency arrays are leaky.
Re:React 19 by math_dandy on Thursday December 05, 2024 @08:34PM (#42335109)
How do they leak? Are they even an abstraction?
Re:React 19 by dalmo3 on Thursday December 05, 2024 @10:38PM (#42336074)
One example where it's leaky is when you want to memoize something, and now you need to memoize all its dependencies, recursively, and you end up with a 30 file PR.

I say this as a big fan of React, and I'm hoping the compiler turns out a success.

Re:React 19 by yawaramin on Friday December 06, 2024 @01:40AM (#42337035)
Well, they're part of the effects abstraction. And they are leaking because you have to manually track them. You are already using the dependency variables inside the hook function. And now you need to duplicate them into an array and keep the array updated as your effect hook changes. This is leaky.
Re:React 19 by mopeach on Thursday December 05, 2024 @06:15PM (#42333942)
There are better deaigned frameworks than React. Solid for example, the api surface area is smaller, there are less things to learn and less chance for bugs.
Re:React 19 by exceptione on Friday December 06, 2024 @03:59AM (#42337809)
If I look at an article like this, I have the impression that Solid is in the early process of discovering their own gotchas:

https://vladislav-lipatov.medium.com/solidjs-pain-points-and...

Re:React 19 by impoppy on Thursday December 05, 2024 @04:45PM (#42333152)
It doesn't necessarily mean that React does it right. When building React apps, developers spend too much time on designing architecture for many things that should have been taken care of by the tools they are using. The more I am in web development, be it backend or frontend, the more I'm disappointed that declarative programming is still not a thing. One too many hours wasted on reducing boilerplate, replacing big boilerplate with smaller boilerplate, optimizing boilerplate and writing that boilerplate. While still being far from perfect, other frameworks like Vue and Svelte do great job at making the developer write less boilerplate and more business logic.
Re:React 19 by hirako2000 on Friday December 06, 2024 @10:53AM (#42340874)
I agree with that, that's not so specific to react. So I kept it to narrating the main problem I and others have with react, which is that feeling that I keep learning the framework for a variety of reasons that I believe are frustrating developers, those who want to be more than react developers.

The non declarative aspect is a problem though, with v19 it now means unbelievably large PRs and time spent to refactor will take place for migrators. Declarative would at least reduce reduce that pain.

Re:React 19 by the_gipsy on Thursday December 05, 2024 @07:17PM (#42334438)
It's nowhere close to pure, in the FP sense. Everything in React is an act around side effects of rendering.

So it's gotta be something else that makes it so popular.

Re:React 19 by math_dandy on Thursday December 05, 2024 @08:57PM (#42335326)
Hooks do a nice job of encapsulating the impurity. Not the only way to do it, but it’s pretty slick.
Re:React 19 by lenkite on Thursday December 05, 2024 @10:41PM (#42336088)
React keeps changing its abstractions, idioms and best-practices every 2 years. The bootcamps and consultancies LOVE it - it keeps the churn going and the $$ coming in.
Re:React 19 by gejose on Thursday December 05, 2024 @08:29PM (#42335057)
> React doesn't make you a better developer, it makes you a better React developer.

React's goal isn't to make you a better developer though. It's goal is to make it easier to build non trivial, stateful applications

Re:React 19 by bdangubic on Thursday December 05, 2024 @08:35PM (#42335116)
which you can also do easily without react and 16Gb node_modules folder :)
Re:React 19 by hirako2000 on Saturday December 07, 2024 @04:42AM (#42348510)
Developers' goal is to become better developers.
Re:React 19 by agumonkey on Thursday December 05, 2024 @07:45PM (#42334713)
I think most people arguing against react are against "advanced" ui libs at all. simple dom + a thin porcelain like htmx does help you finish most work duties without having to add a whole paradigme over.

And anecdotally, if your team is not ready/willing to dig in react, all its benefits will fail to materialize, you'll have a bunch of patched up libs and components trying to do what htmx or similar seem to offer (async actions over REST) for just a few lines in your html template.

Re:React 19 by OtomotO on Friday December 06, 2024 @06:20AM (#42338718)
No bootcamp, university, albeit only a BSc, because I didn't feel like academia afterwards with a full time job and now I've moved on.

9 years of professional experience.

Having worked and paid to do so with Java, Scala, Kotlin, Python, JavaScript, Typescript, Python

Been working with Rust since 2015, have prior experience with C++, had to work with C, Haskell and logic programming (not prolog) at University.

Also did C#, Golang, Lua, Zig and many more.

Does that give more authority to my statement? I sincerely hope not!