Earlier quoted context omitted.
In my opinion, client-side rendering is here as a justification for the unfortunate splitting of the Fullstack developer into Frontend/Backend roles. Frontend developer used to be a designer who also knew HTML/CSS but the problem with that is that in order to do CSS well, you need to be a programmer. Especially if you're trying to achieve effects that work best as a mix of JS/CSS. Unfortunately, when it comes to desi…
You are _completely_ missing the point of frontend applications, here's a few to get you started: - Ease of creating complex user flows. - Decentralization of application work: app runs on client, less CPU cycles for my server! - Separation of concerns: API does one thing, client application does another, there is a bright red line between the two.
The server is rendering JSON anyway, more or less just as expensive to serve HTML. Besides, the bottleneck is usually database access.
It's a false separation and forces you to expose far more than necessary. It's nice to have my full database available on every page render without needing to define explicit endpoints.
I also like having forms generated from database models.