Well, we can - that's how VNC and other protocols work. But it has a few disadvantages.
The first is latency. When you scroll or click, you want the response to happen quickly. If you're streaming the response you have to wait for at least one round trip before anything happens.
Secondly is bandwidth. For all the snark about bloated images and JS libraries, the web is extremely bandwidth light. A 1080p video is less so.
Thirdly, it was tried before. Opera Mini used to render pages before sending them out. It sort of worked for low powered devices but had a lot of quirks which I think gave the idea a bad name.
Let me clarify with some context. I've been tinkering with an infinite grid concept that consumes a streamed JSON feed (plus a sufficient data buffer to hide any delay from the user) to create and then display content with the help of a JS factory. All related media is then streamed to the browser and lazy loaded when needed. With this setup, you can traverse a database without refreshing the page by redrawing the window.
The only potential drawback I see is whether or not search crawlers could index content that's introduced via JS after a page load.
Edit: It also appears to protect from scraping... so I suspect it would conflict with indexability. That's a pretty big downside if true.
It does sound like it, but no it's just plain JS. I recorded a short clip; showing is better than attempting to explain.
Edit: It is almost AJAX. The more I think about it the more the boundaries get blurry. Essentially, it's AJAX that does not fetch or receive resources directly. It interacts with a buffer that holds JSON which describes the next batch of cards. The images are streamed via <img> tag, so the buffer is small relative to the media it represents.
The first is latency. When you scroll or click, you want the response to happen quickly. If you're streaming the response you have to wait for at least one round trip before anything happens.
Secondly is bandwidth. For all the snark about bloated images and JS libraries, the web is extremely bandwidth light. A 1080p video is less so.
Thirdly, it was tried before. Opera Mini used to render pages before sending them out. It sort of worked for low powered devices but had a lot of quirks which I think gave the idea a bad name.
Finally, it would be impossible to block ads on a streamed website. See https://shkspr.mobi/blog/2023/07/the-future-of-the-web-is-vn...