Web Dev Academy Meta-frameworks · Astro Tool 22 / 64
Meta-frameworks

Astro

The content-first meta-framework. Astro ships zero JavaScript by default and only hydrates the interactive bits — its famous "islands" architecture.

Demo 01

JavaScript shipped — Astro vs a typical SPA

Interactive simulation

A traditional single-page app ships its whole framework to every visitor — even for a static blog post. Astro renders to HTML and ships almost nothing. Press build to compare the JS payload.

Astro
0 KB
Typical SPA
0 KB

Less JS = faster loads, better Core Web Vitals, happier phones.

// index.astro — renders to pure HTML, 0 KB JS shipped
---
const posts = await getPosts()   // runs at build time
---
<ul>{posts.map(p => <li>{p.title}</li>)}</ul>
Demo 02

Islands — hydrate only what's interactive

Interactive simulation

Most of the page is static HTML (free). Only "islands" get JavaScript, via directives like client:load. Flip the switch to hydrate the island — then its button actually works.

Header

static HTML · 0 KB

Article body

static HTML · 0 KB

❤️ Like widget

not hydrated — JS not sent
client:load on the Like widget
// only this component ships JS — the rest stays static HTML
<Header />
<Article />
<LikeButton client:load />   // 👈 the island
Demo 03

Bring any framework

Interactive simulation

Astro is framework-agnostic — you can drop React, Vue, Svelte, Solid and Preact components onto the same page. Click one to "mount" it as an island.

React Vue Svelte Solid Preact

Pick a framework above

each renders as its own island
Demo 04

Content-driven routing

Interactive simulation

Astro's file routing also turns Markdown/MDX content collections into pages. Click a file to see its route.

  • pages/index.astro
  • pages/about.astro
  • content/blog/hello-astro.md
  • content/blog/zero-js.md
/
Landing page

An .astro file becomes a static page.

i
Demos are interactive simulations built with vanilla JS — Astro runs via a build step and can't execute inside a static page. The real Astro code (frontmatter, islands, content collections) is shown in the dark code blocks above.

↑ All 64 tools