JavaScript hydration is a workaround, not a solution
The recent evolution of JS frameworks has been really nice. Performance is basically getting identical to desktop.<p>The three recent developments I&#x27;ve noticed:<p>- &quot;Islands&quot; in Deno <a href="https:&#x2F;&#x2F;fresh.deno.dev&#x2F;" rel="nofollow">https:&#x2F;&#x2F;fresh.deno.dev&#x2F;</a> and <a href="https:&#x2F;&#x2F;remix.run&#x2F;" rel="nofollow">https:&#x2F;&#x2F;remix.run&#x2F;</a> where only small isolated parts get hydrated, instead of the whole page<p>- Using <a href="http:&#x2F;&#x2F;linear.app" rel="nofollow">http:&#x2F;&#x2F;linear.app</a> style data-flows ala Replicache (<a href="https:&#x2F;&#x2F;replicache.dev&#x2F;" rel="nofollow">https:&#x2F;&#x2F;replicache.dev&#x2F;</a>) where JSON data is preloaded for all sub-links and stored offline-first like a desktop app, so clicking on anything loads immediately w&#x2F;o waiting for network requests to finish<p>- Now with &#x27;resumability&#x27; where the server-side framework was built with client hydration in mind and delivers the bare minimum event&#x2F;DOM data necessary to make the page interactive (instead of just being a glorified HTML cache load before the usual JS activates)<p>For people not following JS these might all seem like constantly reinventing past lessons, but there is a logical evolution happening here towards desktop-style performance and interactivity on the web. Or pure server-side performance but with full JS interactivity.<p>The next set of frameworks is going to be as big of an evolution the way Angular&#x2F;Backbone-&gt;React&#x2F;Vue was ~8yrs ago. But it&#x27;s going to require new backend server frameworks, not just a new client framework. There&#x27;s probably a big opportunity for the project that can combine this stuff properly.