I think the future could also just be a better HTML template language on the server (for example, JSX inside the "superior server side language") combined with whatever.js on the client.
I wanna do this for go but I haven't had the time to try it yet.. I was inspired by https://xeiaso.net/blog/carcinization-golang
With an editor extension you can even get all the syntax highlighting and type errors with the go code and jsx code on the same page just like it is in a typescript+react dev environment.
@gabek Honestly considering how bad all the HTML template libraries are in the "good" server side languages, I'm hesitant to call them "good".
Having your SPA run on the server + the client can't be that much worse than having it only run on the client, can it? Especially considering how much the tools have improved over time. I think highly interactive web apps are just hard no matter how you slice it.
But I do wish that there was a way to use the really nice, easy to use, and secure JS based HTML templates like JSX on the server without having to make a full node.js express app.