Why is React, a client side rendering framework, a popular choice for server side rendering?
Why is React, a client side rendering framework, a popular choice for server side rendering?
React (and Vue, et al) was built with client side rendering in mind. It just does not seem to fit the server side rendering pattern.
What are the use cases? From my perspective, if your app is a rich web app with a lot of interactivity, you probably want CSR and don't benefit much from SSR.
If you have a content-centric site, or a site with some interactivity but not much, you want a static site generator, or SSR. But in that case, a template engine with some smaller client side libraries (jQuery or AlpineJS or idk what all is out there).
Using React SSR for all of these seems like the wrong tool. What am I missing?
My hot take: Silicon Valley’s kids need to give themselves the illusion of progress with ever changing “best practices” and trends. 30% of my work was probably keeping up with deprecations that rarely truly improve anything.
The mere existence of the term "server-side rendering" illustrates this well. I remember the first time I read about that concept and immediately thought "you mean the way we've been writing websites since the 90s?"
Maybe I'm just out of date, but IMO web development has completely lost its way. I don't do much frontend work anymore, but when I do my goals are always to see how few JS libraries I need to use and how little JS I need to write in general. The end result of that plus doing all/most work on the backend, sticking to standard HTTP conventions, and using only vanilla JS means super fast and performant websites with fewer bugs, less constant deprecations to keep up with, less security vulnerabilities in all the JS libraries, and no constant headaches from a complex Webpack-style build system for assets. It's actually quite enjoyable when you remove all the bs of modern JS frameworks from your workflows.
This is a poorly informed take. Your pop's dynamic html server side rendering has nothing to do with the problem of rendering DOMs generated by JavaScript running in a browser according to the client's state and leave it in a coherent state. Trying to pass off React's SSR for the same thing that was done in the 90s is like trying to pass off an Android app as the programs written for DOS.
My hot take is that I find it so much more pleasant to write typescript and do most of the work in the front-end rather than deal with optimizing the response time of the backend day in and day out. With SPAs it's so much easier to fetch just what is needed rather than have monolithic responses that take ages to arrive. Makes caching and cache invalidation that much easier too.
Htmx is a godsend for that. You actually write HTML while having AJAX easily.
Here's my hot take as a dev who's been making websites since before JavaScript and css were invented: modern web development is leaps and bounds better than how it was and the rapidly changing best practices had a big part for how we got there in the time we did. I think the industry is in a great place now and now that it is things have slowed down and the focus is now on stability rather than changing development patterns.
Hello fellow old person. I mostly agree, and I think we’re starting to see some convergence on the core patterns that will define the “best way” to deliver web apps for years to come. The various offshoots of React are really just evolutions to see what fat we can trim and tighten it up. But functional-reactive UIs as a general thing are here to stay and better than all the other ways we’ve wired up GUIs to date.
I agree that things improved. React and others are amazing for CSR. We have static site generators which are also amazing and nice to work with. But SSR territory is in strange place right now. React is overused in places it doesn't belong.