Notice the fast decline in the last 20 years?
Even active X was less crappy than the most well-polished actual react project, and active X was crap.
Even java applets did more and in an easier way than modern frameworks and JS shit.
One simple page, with login, logout, some search, and navigation nowadays require a few plugins, router, state management, lib for requests, lib to handle cookies, lib for JWT, etc...
It's the developers not companies that make this decision. Out of boredom or trying to get promotion. I'm just so tired of seeing something that could have been one static html page but was built with NextJS+lambdas+terraform and a hundred more buzzwords.
Seeing the same trend in web/ecommerce development. The brand needs a simple site with a little bit of dynamic sprinkled through it. The agency chooses to build a full SPA with all the bells and whistles. In doing so they neglect/break basically everything else - SEO, connected martech, analytics, etc etc. Sure, some bits are a little 'faster', but then there's all sort of UX issues with parts that update too slowly and goodness knows what else. And all at a cost dramatically greater than necessary.
I'm sure some agencies do a fantastic job (those that think about the bigger 'more than just dev' picture). But on 95% of the sites I'm seeing right now the downsides far outweigh the benefits and it feels like dev for the sake of dev.
> In doing so they neglect/break basically everything else - SEO, connected martech, analytics, etc etc.
This is exactly how it looked like when Flash was a popular choice for making web interfaces. We've fought a long, hard battle to finally get back to indexable, interoperable, standards-based HTML, CSS, and JS. It was fine for a while, then Angular happened. Fast-forward a decade and we're right back when we started. Amazing.
> It's the developers not companies that make this decision.
I don't see developers making these decisions anymore, not in large web-based tech companies.
My experience has been that management controls a lot of these decisions and/or steers them in the direction that they want them to go. And the more power a manager holds over a team or department, the more influence they can exert to get their way.
As an example, I'm hearing from a colleague in another department that they're being told by an engineering SVP that all new backend services are to be written in NodeJS. These are .NET developers. How does this guy who is 3 layers above these engineers intend to enforce this "rule?" The implication is you can do this or get fired, I guess, so it's happening regardless of how stupid it is. This was all explained to me when I noticed that I had gotten 3 "so long and thanks for all the fish" emails from long-timers in that department.
As someone who recently returned to Rails after 7 years of searching for a better option, I totally agree. For the types of problems I solve (not FAANG problems), Rails is the by far the most productive option. Not perfect, mind you, but better than anything else I've run across.
I feel like I am one of the few that switched from angular to react in 2014 and while enjoying how "simple" it was started noticing how much people liked building complexity in it.
Now I have used react at a few different sized companies, taught it to some students and completely stopped using it for personal projects. It just seems like too much added complexity for almost every situation and people just see everything as a SPA now.
I'm a full stack engineer that does lots of react in my day job. I now use jquery in all my side projects because I want to get them done instead of spending lots of time getting the project setup.
Nothing beats adding a script tag in the footer and being done with project setup.
Can you describe the vue 3 part more? As an outsider it just looks for me they just added another api with a different style, so people can choose what they like.
What do you think of Svelte? I haven’t used Vue since I discovered Svelte but I’m always curious about peoples perspectives and try to keep my finger on the pulse. The new Nuxt looks pretty awesome! Love the api design. I’m hoping Sveltekit steals a few ideas from it before 1.0.
I looked at it the other day after the discussion thread about JS frameworks, but bounced when I saw ".svelte" files.
I accept (demand, really) TypeScript but I've become allergic to any attempt to add much more on top of JS than that. I can just see the next poor bastard coming along in a short year or two and going "oh god, WTF is a '.svelte' file? What did my piece of shit predecessor fall for?"
I'm looking into Vue today. Possibly I'll settle on something even simpler.
React's certainly out, and thank god the mood is finally shifting enough that I can abandon it without harming my career (much). Slow, janky, and god they've made some weird choices with it in the last few years. It was always a bit heavy, but it felt like it had some degree of elegance to it before that—if only in parts of the API itself, not the implementation.
[EDIT] Oh good lord, '.vue'. Don't any of these just use normal-ass code? Sigh.
Things like .vue and .svelte are really more like hints to your Editor for which linter to use, which code highlighting etc. Also your build chain I guess.
I'll admit it's annoying but it's still just "normal-ass code". Vue, for instance, is just html, JavaScript and css. A .vue file is just all three in one file with special syntax to indicate each section.
That's true of Vue. Svelte has a compiler which changes and augments your code with additional code for it's state management system. So it's definitely not normal code.
I generally agree with your don't "add much more on top of JS" sentiment, but I like .vue files. It's "just" HTML, CSS, and JS in one file, which I find convenient for components. But it's optional--you're free to use three separate files.
Seems interesting but quite young. When I looked it up it there was discussion about Sapper vs Sveltekit etc and quite frankly I can't stand that kind of thing anymore, it just leads to confusion, a lot of Googling and SO, partial or wrong docs etc and in the end a LOT of lost time and energy.
And I say that as someone who is currently refactoring a Vue 3 app from JS/VueX to TypeScript/Pinia ... oh the irony.
One simple page, with login, logout, some search, and navigation nowadays require a few plugins, router, state management, lib for requests, lib to handle cookies, lib for JWT, etc...