Skip to content
Devgo

Astro

A framework for building fast content sites — blogs, marketing pages, docs. Astro ships zero JavaScript by default (islands architecture). Use React/Vue/Svelte components where you need interactivity, and the rest is static HTML. Perfect for content-focused sites.

Created by

Fred K. Schott · Created Astro in 2021

When to use
  • Blogs, docs, marketing sites, portfolios.
  • Content-heavy sites.
  • When SEO and performance matter.
  • Jamstack/static sites.
When not to
  • Highly interactive apps (use Next.js/React).
  • Real-time apps.
  • When you need a full backend.

Definition

Astro is a static-first framework. It renders pages to at build time (or SSR). Components (Astro, , , ) render to static HTML. 'Islands' let you hydrate interactive components where needed. Zero JS by default. File-based routing, content collections, MDX support.

Why it exists

/ ship the framework runtime to every user even for static content. Astro removes that — static for content, only where you need interactivity. Faster, lighter.

How it works

Write .astro files or // components. Astro renders them to at build time. For interactivity, mark components with client:* directives (islands) — only those hydrate. Content collections for markdown/MDX. Deploy static output to any host.

Scaling limits

Less suited for highly interactive apps (/ better). Island hydration adds complexity. Smaller ecosystem than React/Next.js.

Cost shape

Free and open source.

Alternatives

  • Next.js (SSG) — More JS shipped, better for interactive apps.
  • Hugo — Go-based, no JS framework integration.
  • Eleventy — Simpler, less component-focused.

Failure modes

  • Over-hydrating islands.
  • Content collection complexity.
  • Less suited for SPAs.

, , ,