zsh — hocein@dev:~/loading
hocein@dev:~$ fetch --page
loading route
loading route
// dev log
Server components, partial prerendering, and the small dance of streaming UI without paying for hydration twice.
Components run on the server and send finished HTML to the client. No JavaScript ships for the parts of the page that are purely presentational — the browser renders what the server already computed.
Static shells are prerendered at build time while dynamic slots stream in on request. Users see a full layout instantly instead of a spinner, and the interactive pieces fill in as they arrive.
The trick is knowing exactly which subtree needs to be interactive. Everything above the fold that never changes stays server-rendered; only the truly dynamic islands hydrate, so you never pay for hydration twice.