Skip to main content

Astro

What is Astro

Astro is a content-focused web framework that ships zero JavaScript to the browser by default. It is MIT licensed and currently at version 6.x. With ~1.4M weekly npm downloads and ~57.6k GitHub stars, it is the recommended choice for content-heavy sites where performance and SEO matter more than client-side interactivity.

Why we recommend it

  • Zero JS by default — pages are rendered to static HTML at build time. JavaScript is only sent to the browser when a component explicitly opts in via island hydration.
  • Islands architecture — interactive components hydrate independently, so a heavy React widget doesn't block the rest of the page from loading.
  • Multi-framework support — use React, Vue, Svelte, or Solid components in the same project. Teams can leverage existing component skills without rewriting.
  • Content collections — type-safe Markdown/MDX content with schema validation. Purpose-built for blogs, docs, and marketing pages.
  • SSG + SSR flexibility — static by default, but can opt into server-side rendering per route when dynamic content is needed.

When to use

  • Marketing sites and landing pages
  • Blogs, documentation sites, and knowledge bases — for a full-featured docs site, pair Astro with Starlight
  • E-commerce storefronts where page load speed drives conversion
  • Projects that need to embed React components selectively without shipping a full SPA framework to every page

When NOT to use

  • Highly interactive single-page applications (dashboards, admin panels, real-time collaboration tools) — use React with Vite or Next.js instead
  • Projects where every page requires heavy client-side state and routing — Astro's island model adds friction for app-like experiences
tip

Astro uses Vite under the hood. If your team already knows Vite, the development experience will feel familiar — same config patterns, same plugin ecosystem.

Resources