kella3's avatar

State of React

The react ecosystem seems a bit too much now. I haven’t done serious front end stuff in a couple of years and admittedly haven’t really kept up with the space as much as I should, but I can’t help but feel like this is an entirely different beast than what I remember. I’m trying to dive back in but seems like React is pushing batteries-included frameworks and SSR as the default https://19216801.onl/ . Is react no longer just a frontend library to build interfaces in a declarative way using components? I originally fell in love with it for those reasons. Have I missed the boat on the state of frontend frameworks? Are there alternatives that people have been switching to?

0 likes
3 replies
martinbean's avatar

@kella3 I’d say that’s just front-end development in a nutshell. It’s all a complete mess. Every one is just making libraries and frameworks and runtimes and making it more and more difficult to just send some bloody HTML to a browser.

Stick with the fundamentals: HTML, CSS, JavaScript. These libraries and frameworks and tooling will come and go, but the fundamentals will remain the same. I use Vue day-to-day. I’ve used React in the past, but it was completely different to what it is today. Could I pick it up again? Probably, but that’s only due to having solid experience in JavaScript. So I’d say try and pick the right tool for what it is you want to achieve.

If you just want to manipulate DOM elements, then you could look at lightweight libraries like Alpine.js or htmx. But everything else (React, Nuxt/Next, etc) just seems to be “all or nothing” and not something I want to commit myself to and hinge my application on. Especially given how quickly they’re breaking—sorry—“changing”.

1 like
mabdullahsari's avatar

I can cosign everything mentioned above.

React is an absolute mess right now with a lack of vision. For example, they announced Suspense and Concurrent Mode back in 2018 or something and people are still waiting for a stable release. "What's the big deal?" you might ask... Well, every library maintainer has had to prepare their packages for the eventual release of these "big updates" that needs to happen, still...

Next/Nuxt-like frameworks are trying to mimick Laravel, so I'd stay away from them. You can use other solutions like Inertia which leverage the UI capabilities and leave the server stuff to more capable engines, like Laravel.

The only reason why I am still using React today is because of React Native & Expo, in that it is the only good JS-only solution if you need a native mobile application. I'd choose Vue in a heartbeat if mobile app development was irrelevant in my context, but alas it is not. Google's Flutter's not bad either, but that requires you to learn Dart which might be undesirable depending on your situation.

1 like
jlrdw's avatar

I said this a while ago in a post that some of these modern Frameworks have become a conundrum.

And some of these folks using 15 different JS packages and trying to keep them updated seems way out of hand.

For business apps I would use fetch js. Mobile if necessary a derivative of java. In other words a language that's not going to change every 2 months.

Please or to participate in this conversation.