My thought on this is to boil down the notion of "client-side rendering" to its most basic primitive: the ability to manipulate DOM.
In its earliest form, that has existed from the dawn of DHTML, which dates back to IE4 release in 1997.
Everything that has happened in this space has been a gradual evolution since then: be it more powerful DOM manipulation APIs, coupled added capabilities like AJAX (~1999) which allowed you not to force full page loads to show new data fetched from server, is what really started to move things towards meaningfully CSR in the early days.
With the advent of Web 2.0 (websites become more like "applications" that power user-generated content), people realised the need (and the amazing possibility!) of building more complex and full-fledged web applications.
Awesome wrapper libraries of the day, like jQuery (2006) really started to make doing all these things very easy.
We became more ambitious on how complex web applications can be built... state management on the client became an important and common deal, with more and more websites veering into the territories of "applications" rather than "documents".
Meanwhile, browsers and devices continued to become more and more powerful (and efficient!) in doing what they do. Client-side application architectures became more and more complex. New rendering paradigms evolved into what we see as Angular, React et al these days.
It has been an interesting journey over time!
Yeah for sure. I always like hearing about web history
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.