Y'a pas mal de tes questions qui ont la même réponse je pense Kamikaze: on s'était mit à faire des SPA/clients lourds partout (beaucoup de JS, plein de logique côté navigateur, etc), principalement pour optimiser l'expérience utilisateur et faire des trucs très intéractifs, React et sa grosse popularité ont à peu près stabiliser et évangéliser ça après pas mal de remous. Mais maintenant on est dans l'étape d'après: "ok ça serait peut-être bien de conserver toutes ces possibilités offertes par les SPA mais en ayant les gains de perf pour ce qui pourrait être plus statique ou généré côté serveur, comme ce qu'on faisait avant".
D'où:
1) Pas mal de JS côté serveur, puisque maintenant on s'attend à ce que ton framework de rendu de SPA qui générait la page dynamiquement côté navigateur soit également capable d'en générer/cacher une version plus ou moins finie côté serveur en réponse à une requête, et prenne la main ensuite côté navigateur. Donc c'est transparent, t'écris le même code qu'avant pour des SPA mais t'as divers surcouches qui permette de façon transparentes de générer une v0 de la page côté serveur pour que le temps de rendu initial soit bas (le gros problème historique des SPA qui t'affichait rien avant 5s de temps de chargement de 3 tonnes de JS), mais en même temps une fois cette v0 chargée et affichée, le framework reprend la main pour avoir des trucs dynamiques côté navigateur
2) Cette approche de génération de pages statique côté serveur, au build time. Gatsby a été le premier à ouvrir vraiment ce concept, me semble qu'ils ont commencé sur l'e-commerce (qui a besoin d'avoir des pages bien rendues pour que Google les indexe et leur envoie des clients). Tu veux un truc très intéractif avec des composants React dans une page où 80% du contenu est statique, Gatsby te permet de faire ça facilement de façon unifiée, avec peut-être des plages de pages entièrement statiques ou d'autres entièrement dynamiques et résolues côté navigateurs. D'ailleurs ça me fait penser vu ton post, les âfres de Gatsby (en perte de vitesse relative) c'était les pipelines de CI de 4 ou 5h où des grosses boîtes d'e-commerce générait les pages de 150 000 paires de chaussures x 5 tailles x 4 couleur et autres joyeusetés Sauf qu'à la fin, d'un point de vue client, ça donnait des trucs très proches en termes de perf du bon vieux web ultra statique, ton navigateur n'avait pas à appeler un serveur pour demander les couleurs disponibles avant de rendre la moitié de la page, mais avec quand même la possibilité pour les devs pour faire de bonnes UX bien intéractives.
En regardant côté Jamstack t'auras des infos sur la philosophie de ces trucs là.
... Mais bon le web c'est chiant à décrire parce que t'as des vagues et des modes, en général motivées par une bonne raison/un bon cas d'usage, mais qui n'est pas universelle, et à chaque grosse vague t'as des gens qui restent dans le paradigme d'avant. Du coup je pense que c'est un peu plus fragmenté que les autres écosystèmes même si j'oublie que c'est celui que je connais le mieux. Y'en a plein qui sont pas dans le train dont je parle et qui sont restés sur ruby on rails ou django, à bon escient. Je sais pas comment tu peux faire pour pas être largué si tu t'en pas tapé les 12 ans d'histoire précédentes.
Si tu veux faire joujou je conseille SvelteKit (par-dessus Svelte, tentative de framework fullstack tout en un). C'est hipster mais pas trop et assez en pointe.
Edith: Astro dans un autre registre c'est assez représentatif également d'où on en est, archi intéressante.
- - - Mise à jour - - -
Le côté hacker/dev solo/pragmatisme/optimisation de la vitesse d'implem' et d'itération sur ton produit parce que c'est ce qui compte c'est vraiment le quintessentiel du web je trouve, et ce qui me plaît en général. J'ai même poussé le truc encore plus loin et arrêté de faire du dev pour me concentrer sur les aspects utilisateurs/busines, c'est pour dire