“Now, a webpage can be a full-blown app, pulling in data from multiple sources, doing on the fly manipulations, and allowing an end-user full interactivity. This has greatly improved the utility of the web, but at the cost of size, bandwidth, and speed,” claims Deno product marketing manager Andy Jiang, referencing statistics from Web Almanac that show a near-400 percent increase in page weight, the size of the resources downloaded by the browser, between 2012 and 2021. “We’re on an upward trajectory that shows no sign of abating,” the Web Almanac report said.
According to Jiang, the result is “terrible UX, slow loading times, and a lack of interactivity until everything is rendered.” We should note though that Deno is hyping its own approach, where most code runs server-side on Deno; and that the notion of sharing rendering duties between client and server is familiar even in the React world with initiatives like React Server Components.
CSR also has distinct advantages including reducing server load and providing a smooth user experience once the assets have arrived.
A counter-argument to Jiang is that tilting too far towards SSR is a waste of the capabilities of modern web browsers, which now extends to WebAssembly enabling developers to write in the language of their choice – including C#, Rust, Java and Go – whether running in the browser or on the server.