· Programming  · 1 min read  · ... views

Why I chose Astro over Next.js for this blog?

In the modern frontend world, Next.js is almost “king”. However, for a personal blog focused on static content like DevNotes, I chose Astro. Why?

1. Zero JavaScript by Default

Astro has a unique “Islands Architecture”. By default, Astro ships 0KB JavaScript to the browser. HTML is rendered entirely on the server (or at build time). This brings extremely fast page load speeds, Lighthouse scores always hitting 100/100.

Meanwhile, Next.js despite having SSR/SSG still hydrates a large amount of JS bundle (React framework code) to the client, even for pages with only text.

2. Content-Focused (Markdown/MDX)

Astro was born to make content sites. Astro’s Content Collections system is extremely powerful:

  • Type-safe schema validation with Zod.
  • Support Markdown/MDX out-of-the-box.
  • Easy to query and filter posts.

3. Framework Agnostic

This is the most winning point. With Astro, I can use React component for the Search bar, Vue component for the Chart, and Svelte for the Interactive widget… all in the same project.

---
import ReactComp from './ReactComp.jsx';
import VueComp from './VueComp.vue';
---

<ReactComp client:load />
<VueComp client:visible />

Conclusion

If you’re building complex Web Apps (Dashboard, SaaS), Next.js is still the #1 choice. But if you’re making a Blog, Portfolio, Documentation… Astro is the one.

Simple, fast, and content-focused. That’s why DevNotes runs on Astro. 🚀

Comments

Loading...

Back to Blog