Astro builds static sites with minimal JavaScript. Component islands hydrate independently. Use React, Vue, Svelte, or vanilla JS together. Content collections manage Markdown and MDX.
Islands Architecture
Static HTML ships without JavaScript by default. Interactive components hydrate as needed. Client directives control hydration timing. Islands remain isolated, not affecting other components.
- Use client:load for immediately interactive components
- Defer with client:idle for non-critical interactivity
- Use client:visible for below-fold components
- Mix frameworks within the same page
- Optimize Core Web Vitals with partial hydration
Content Collections
Define content schemas with Zod validation. Query collections with type-safe APIs. Transform Markdown with plugins. Generate pages from content automatically.