But the node ecosystem includes essentially everything that touches on javascript, both the bad and the good.
I don't think there are very many ecosystems that are guaranteed to have only good stuff. Regardless of ecosystem, the developer has to examine what is available and make wise choices.
I think the culture is so prevalent that I have to defend parent’s statement. Node itself, and npm which is a node project, are some of the worst offenders. It’s had abysmal stewardship imo, and one could argue this sets the tone for the ecosystem at large. Hack upon hack, config files of doom.
There are exceptions, but at this point the verdict is clear. It’s like the meme about Java being enterprisey and over-abstracted with factories. As far as stereotypes go, it’s true. (Or was, haven’t used it in forever)
I’m not even against JS, and much less the web. I think it’s the 7th wonder of the world. But the developer practices makes me want to tear my hair off.
I know there's plenty of junk, but if you opt out of the node ecosystem in its entirety, you're essentially opting out of most of javascript development as well, which is a substantial part of web development.
That's your choice, but you're missing out on a lot of good and useful things... just in terms of software development but also in terms of meeting whatever your business needs are (if you're trying to make money).
Javascript static analysis tools can be very useful (like TS and eslint). app frameworks can provide routing, UI frameworks, UI controls, validation libraries, etc. that you would otherwise have to implement on your own.
These are all part of the node ecosystem. htmx is part of the node ecosystem. IDK, lumping it all together doesn't make sense to me because there's a lot lost and little gained.
There is a great way to combat this, use libraries you've reviewed to have proper design and implementation, then ignore the rest. People rely on libraries for the stupidiest shit, and also are really afraid to go against the current flow. If you're not doing TypeScript/VueJS/$POPULAR_THING you don't know anything about JS and you're a dumb developers, which of course is very wrong. And stop listening to recommendations from lifestyle developer streamers who most likely got paid to recommend whatever they're babbling about.
I quite liked svelte 4. Svelte 5 might be even better, but I'll probably never find out.
I won't touch it if I can help it. No matter how good it is, I'm fairly certain there will be a svelte 6, 5 will be abandoned, and whatever issues crop up in it will not be addressed unless I move to 6... probably just in time for 7 to come out. I know this because that's what happened before, repeatedly.
I don't know if htmx is actually any good, but they are saying all the right things.
Major versions that change basically everything should be considered different projects and require a re-review. I remember I did this early with react-router, and I think when they changed the public API for the second time, we forked it and left it as-is, because they made their goals apparent.
If Svelte version 4 and 5 are very different, then they're "SvelteV4" and "SvelteV5", both on version 1.0.0, in my mind :)
"Pretty good" is good enough for most developers, but React has some issues that reduce developer experience (having to do your own memoization and a lot of hidden complexity that can impact performance) that require a huge engineering effort to solve (React Compiler has been in the works for years).
I'm also not sure whether the move from class- based components to functional components with hooks should've been part of the "regular" React or if it would've been better to do a hard break (e.g. a version 2.0), but I think the collective front-end developer world is still traumatized from the AngularJS -> Angular transition.
Coming from AngularJS then Angular then Vue, a bit of Svelte, which I didn't like, to React.
I tried React before and hated it.
Yes, it's not perfect but right now it's pretty good.
I like composables, there are a few gotchas to get used to, but that's everywhere, when in Rome.
Vue is better IMHO, but doesn't have the graphql client I require and there is more momentum in the React ecosystem right now. More innovation is happening in the React ecosystem than elsewhere.
Angular is still stuck in the past. Ngrx as the only state management library, full of boilerplate and the annoying rxjs. One doesn't simply with Angular.
Svelte is too barebones for my taste. Manually doing form validation and rendering for instance. If it had a larger ecosystem it would be great, but it doesn't. It for the purists who like reinventing the wheel.
Of course it has other good uses as well, it's fast, much faster than React.
When I used React, I use high level libs where I don't have to manually do stuff. But when I do it comes naturally, it's a simple learning process.
I prefer logic in templates from Vue over the brackets and conditions of React. I like Angular's templating and 2way binding.
I don't like Reacts aliases, like having to write className instead of class.
But in the end productivity is what matters for me, and React is pretty productive and has a large ecosystem. But finding the right packages is a journey.
React SSR is a horror story.
Vue's especially with Quasar is a love story with butterflies and perfume. Great tooling.
It's good enough and I'm actually enjoying to work with it, maybe because it's so new to me and learning new things makes me happy (like when you're young you're happy because there is so much new stuff constantly, which studies found that it makes people happy).
That they removed the ability to embed it without compilation from v19 on is a very bad move though.
Given my experience with node ecosystem, react, and nextjs, I am inclined to agree.