Server islands can be quite useful. They are the equivalent of NextJS partial prerendering. You can have a static page with dynamic server-rendered islands.
Reminds me of nextjs where it treats everything as a server component by default and if you want a client component you explicitly tell it to do so. Except with Astro client islands are framework agnostic?
yup, when you use a client component astro actually mounts a whole react/svelte/whatever app at that point in the DOM with that component at the root. so while in nextjs the whole page is one big react app, in astro the page is mostly static HTML with little client-side “apps” scattered throughout
That's accurate. Considering your audience and what you're writing, server islands don't need to be mentioned. They have a slightly different mental model, and a different use case
fwiw as an astro fan i also don’t see the appeal of server islands. if i’m doing server-side stuff i’d rather put in the work to deliver the whole page in one round trip than add a loading placeholder + extra requests. maybe if they did something clever w/ out-of-order streaming and DSD
actually there are some cool client-side patterns w/ astro components. any script tags you use get deduped + bundled so you can e.g. define a custom element and use it in the astro component for client-side interactivity. technically that’s “your own
Comments
I have no idea
fwiw as an astro fan i also don’t see the appeal of server islands. if i’m doing server-side stuff i’d rather put in the work to deliver the whole page in one round trip than add a loading placeholder + extra requests. maybe if they did something clever w/ out-of-order streaming and DSD