DEV Community

Cover image for JavaScript Frameworks - Heading into 2024

JavaScript Frameworks - Heading into 2024

Ryan Carniato on December 21, 2023

I won't be the first to say it, but I will say it nonetheless, 2023 was quite the year for JavaScript frameworks. Between new technologies we've be...
Collapse
 
ozzythegiant profile image
Oziel Perez

Just drop React, it's just bad as a framework. Messy coding

Collapse
 
shifi profile image
Shifa Ur Rehman

First of all its not a framework. Secondly, sure.

Collapse
 
coldagofee profile image
cold a goo fee

first of all what is the definition of framework. secondly even if they proclaim themselves as library, the way we using react is like framework (and really opinionated one). we put our code on top of react and their non-sense rule, not the other way around

Thread Thread
 
shifi profile image
Shifa Ur Rehman • Edited

This stands the same for literally all the libraries out there. Wanna use ffmpeg? Oh opinionated. Wanna use sharp? Oh still opinionated.

React is a library and we have been using it as library. Even if you say we put code in react renderer in a specific way and it "renders". Because that's all it does. It doesn't handle server side rendering for you, if you want to do that you gotta build it. Need internal navigation? Too bad. Build it. Wanna use image optimization? Do it manually, yourself.

OR

Pick a framework that does all those things for you under the hood. Like an abstraction. That glues a lot of libraries and abstracts that away from you. Maybe alongside provide a nodejs runtime too so you can access fs for sharp image optimizations and all the runtime specific globals.

Think about your argument again. You are trying to change the definition of a library by the argument that disproves the very existence of said entity.

Please dont do that. Let the bigshots in science department do the defining.

Over and out.

Thread Thread
 
joshuaamaju profile image
Joshua Amaju

I can't imagine you're making the comparison between React and ffmpeg. I'd say your take on whether it's a framework isn't taking the subject seriously.

ffmpeg has rules around inputs, and doesn't affect how you use other libraries that might handle its output. You can't say the same for React.

You have to jump through hoops to get React to play nice with non-react libraries that have to deal with its output.

Thread Thread
 
shifi profile image
Shifa Ur Rehman

I mean... Thats what i said. You stuck to the ffmpeg's part like a bible?

Thread Thread
 
joshuaamaju profile image
Joshua Amaju

No that's not what you said. And why include ffmpeg if it had no value to the point you were making.

Thread Thread
 
shifi profile image
Shifa Ur Rehman

Alright forget about ffmpeg for a sec. Do you agree to the rest?

Collapse
 
timsar2 profile image
timsar2 • Edited

If you knew the author, You may wrote some better comment... Ofc he know react is not a fully framework...

Collapse
 
codingjlu profile image
codingjlu

First of all, it's not a framework. Secondly, no.

Collapse
 
ozzythegiant profile image
Oziel Perez

Some people like to suffer I guess

Thread Thread
 
codingjlu profile image
codingjlu

Some as in the majority of web developers? Also, what makes React messy but not other frameworks/libs like Svelte or Solid?

Thread Thread
 
quanla profile image
Quan Le

React doesn't guarrantee messy code. Lousy dev does. Just ignore them, they don't understand what they are talking about.

Anyway, check out my good work with ReactJS, open with desktop
quanla.github.io/macos-demo

Thread Thread
 
ozzythegiant profile image
Oziel Perez

Agreed, but hooks are part of the problem. Svelte and plain JS at least free you of the necessity of having to deal with the one way data flow. It just works. Hooks and the render cycle exacerbate the problem of lousy devs not organizing code.

Thread Thread
 
quanla profile image
Quan Le

Hooks is a clumsy patch, no elegance at all

Collapse
 
youhan profile image
Alireza Jahandideh • Edited

Framework, library, tomato, tomaato… bad is bad. React has served, deserves a thank you. Time to say bye.

Collapse
 
kyoukhana profile image
kyoukhana

React is a decade framework just drop it. Why developers don't drop it because there is easier solutions out there which means less billable hours or putting longer hours in time-sheets

Collapse
 
ozzythegiant profile image
Oziel Perez

That's ridiculous. Managers would want to hire people that are productive, not just messing around with React flaws. People don't have their priorities straight

Collapse
 
giorgos profile image
GeorgeNeilyo

Interesting comment. What framework would you point out its the best out there if its not React? ( Honest question dont take it offensive )

Collapse
 
rumncode profile image
RumNCode

I love the nods and acknowledgements of the other frameworks any pointing out how they are good in their own ways. I started dabbling with Solid, and I do like it a lot, I have been dabbling with Qwik and really really love it, thought being new lacks a lot of the libraries that things like react and stuff have because they have been around for years and years. I still generally work in and grab NextJS as my default, but I really hope that changes soon. Their docs IMO have gotten significantly worse, the DX IMO is also a lot more cumbersome with needing to seperate out client/server components, so hopefully soon, I can just say, hey lets build this new project in Qwik/Solid and just be done with it

Collapse
 
osweald-yeshua profile image
Osweald Yeshua

Astro + HTMX + Alpine / Qwik (Svelte in Astro Island if one day I need to use Island) I liked Qwik very much and I believe that when Alpine feel the weight, probably Qwik will hold. It would be Qwik or Svelte in Astro Island, with a right configuration I believe that even using Svelte, version 5 now with a new toys Runes (very interesting toy) with Astro still can ve better than go with full (Sveltekit), but I have more tests to do, with Qwik instead Alpine, and Svelte 5 in Astro Islands. I want to test AstroDB too, because Astro is awesome and I want to try its limits, HTMX + .NET 8 has a easy integration too for enterprise projects, and I have to be a middle term to middlewares and other thins that I think would be Golang ;) and I want to get start with Rust to be a better prgrammer and understand things better, Rust and F# a different world for me :)

Collapse
 
youhan profile image
Alireza Jahandideh

I encourage everyone to give Nuxt a try.

Collapse
 
pavelee profile image
Paweł Ciosek

Great post! 👏👏👏

Collapse
 
yuriyyakym profile image
Yuriy Yakym

I'm also doing my best to have some impact on better 2024y for developers by releasing state management library - Awai, where all the events are thennable. What are your thoughts about this approach?

Collapse
 
artxe2 profile image
Yeom suyun

I hope there were improvements in SPA as well.
REST API + SPA (SSG) is simple and intuitive, but it seems like the recent direction in web development is moving towards SSR.
Instead of executing fetch requests for initial data through events like onMount when transitioning between pages, how about having a feature that sends these fetch requests in advance when downloading JavaScript for page transitions?

Collapse
 
rudransh61 profile image
Rudransh Bhardwaj

hey , also check out this new amazing CSS framework (created by me* )
NextGenCSS ( github.com/rudransh61/NextGenCSS- )
Pls tell your feedbacks
Thank you for using it for a day (or an hour)
Docs and guide : nextgencss.gitbook.io/

Thanks to all contributors and stars

Collapse
 
hendrikjan profile image
H.J. van Meerveld • Edited

Nice article!
Do you have al link to "the TC-39 proposal for bringing Signals into the browser". I would be interested to have a look, but a Duckduck search didn't give me anything.

Collapse
 
blurk profile image
blurk

I just read about that yesterday, you can check it: github.com/webcomponents-cg/commun...

Collapse
 
hendrikjan profile image
H.J. van Meerveld

Hey, thanks for the link.

Collapse
 
peerreynders profile image
peerreynders

Off topic; I didn't realize the cover image was from Tomorrowland (2015) which also contained this speech from the antagonist:

Collapse
 
dsaga profile image
Dusan Petkovic

For which type of project do you think its worth using Qwik for ?

Collapse
 
kyoukhana profile image
kyoukhana

Qwik is cool but the adoption rate is slow. Svelte is very easy to learn but I am not sure about version 5 its very different.

Collapse
 
ryansolid profile image
Ryan Carniato

Yeah it looks like SolidJS. Which of course I'm not going to complain about.

In all seriousness it addresses a lot of the shortcomings Svelte had. While not everyone felt those I think this is a big step in it becoming a much more capable framework.

Collapse
 
coldagofee profile image
cold a goo fee

ecommerce for sure

Collapse
 
redbar0n profile image
Magne • Edited

In 2024, I predict Vike (the simplest and most modular solution for Vite + SSR) will at least double in

stars: 3k -> 6k
downloads: 40k -> 80k monthly

Collapse
 
dsaga profile image
Dusan Petkovic

Damn too many frameworks, would be good to just stick to the big ones and experiment with the new cool ones, then bring the good stuff into the existing frameworks