>But the vast majority of SPAs are an order of magnitude more efficient to work on than the old paradigm of PHP/JSP/ASP/Whatever server pages
This is kind of a head scratcher. SPAs may be easier to work on than how things were done 20 years. But they're definitely not easier to work on than SSR in a modern stack.
>But they're definitely not easier to work on than SSR in a modern stack.
It's about division of labor, and having clear interfaces between teams. If you are a one-person project, then by all means go that route. But in a team with specialized talent in backend and frontend development, both are much more efficient when that separation exists. Expecting frontend devs to write efficient SQL queries is about as insane as expecting a backend dev to know how to make complex CSS animations.
Huh? Nothing about using SSR means designers have to write SQL. I think you have some inaccurate assumptions about what SSR has to look like, or how it can be layered. MVC was a thing for a long time, and still is in various forms.
The article calls out access to features of SQL data stores — not writing SQL itself. In practice, that means developers need to learn how to use an ORM; most common operations are pretty well abstracted.
>Expecting frontend devs to write efficient SQL queries
This just isn't a problem for most modern stacks. You're using an ORM and not writing SQL which isn't any harder than GraphQL or Rest endpoints.
And, for better or worse, there's not that much need to write efficient SQL because servers are so fast these days. The target you need to hit is something like "one of my filter conditions has an index" and things will usually be fine.
Why in the world would I want to split a team in two highly coupled halves that can't deliver any value by themselves? Division of labor? Seriously? Are we back to the 18th century?
This is kind of a head scratcher. SPAs may be easier to work on than how things were done 20 years. But they're definitely not easier to work on than SSR in a modern stack.