Gary Fougerolle GF

Why I chose Astro for my blog


When I decided to relaunch my blog, I had several frameworks to choose from. Here’s why Astro won.

The problem with JS frameworks for a blog

A blog is essentially static content. Shipping 200 KB of JavaScript just to display text is wasteful. Next.js and Gatsby are excellent for complex apps, but overkill for a content site.

Astro and “zero JS by default”

Astro takes a radically different approach: it generates plain HTML by default. No JavaScript is sent to the client unless you explicitly ask for it.

---
// This component generates ZERO client-side JS
const message = "Hello, world!";
---
<p>{message}</p>

Islands

If you need interactivity on a specific component, you can hydrate it independently with the client: directive:

<SearchBar client:load />
<Comments client:visible />

The rest of the page stays static HTML. This is the “islands” architecture.

Performance

On PageSpeed, this site scores 100 across all four metrics. No JS bundle to parse, no unnecessary hydration.

Conclusion

For a blog, Astro is the best choice I’ve made. Easy to get started, extremely performant, and the DX (Developer Experience) is excellent.