I don't know how to explain it, but when I first tried things like knockout or vue i was blown away. I loved the flexibility and operating straight on the DOM. JSON felt cool. Somehow I ignored the fact how many packages I had to install to make it working. People said it has to be like that, so I listened. And it was clearly a mistake.
The idea of server-side HTML generation was not fancy anymore. Modern software had to be on react or vue. And this stereotype slowed down development of all the server-side solutions that were great, they just missed something that dynamically can change the content of the page.
I don't exactly know what happened in 2021+, but clearly something has changed. People started to complain about react more and more. I started too. Writing code with react wasn't fun anymore, probably because of hooks.
Then frameworks like Turbo, HTMX, Livewire emerged and it seems they're gettting the attention now. I've made myself a framework (https://usehydro.dev) that allows creating server-side components that on the client side become interactive and stateful.
To me working with such model is wonderful, I'm focusing more on the back-end side and my views are tied to the way how back-end works. No more data synchronization. Just HTML partials exchange.
But what do you think, is server-side rendering approach with partial HTML synchronization the future or at least something that will stay for longer?
Does anyone remember AngularJS v1? That was my first web framework. I reached for that when I saw a demo of a UI that was close to what we wanted for a product. I had no clue how to do web layouts in 2015. I made it through Angular V2, RiotJS and then Blazor for a few years before going totally vanilla with basic SSR and form posting.
The analogy of comparing these frameworks to training wheels is still the most apt one in my mind. For many developers, having a little bit of a shim to keep the bike upright while you are learning how the pedals and steering work can do wonders for the learning experience. But, after a while you may find the training wheels start to cause frustration and get in your way. The hardest part of all of this is deciding when to do away with them.
Vanilla web (as rendered on the server) has always been the most rational path for open web development, but it only recently got to a point where it may be the best place for a novice to start. Raw HTML/CSS/JS in 2024 is not like it was in 2016. We may be entering a phase where frameworks arent even necessary as a learning tool. Flexbox and friends do a lot of fucking damage compared to what we used to have not even a decade ago.