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โ€‹