· Lập trình  · 2 min read  · ... views

Tại sao tôi chọn Astro thay vì Next.js cho blog này?

Trong thế giới frontend hiện đại, Next.js gần như là “vua”. Tuy nhiên, đối với một blog cá nhân tập trung vào nội dung tĩnh như DevNotes, tôi đã chọn Astro. Tại sao vậy?

1. Zero JavaScript by Default

Astro có kiến trúc “Islands Architecture” độc đáo. Mặc định, Astro ship 0KB JavaScript xuống trình duyệt. HTML được render hoàn toàn trên server (hoặc build time). Điều này mang lại tốc độ tải trang cực nhanh, điểm Lighthouse luôn đạt 100/100.

Trong khi đó, Next.js dù có SSR/SSG nhưng vẫn hydrate một lượng lớn JS bundle (React framework code) xuống client, ngay cả với những trang chỉ có text.

2. Content-Focused (Markdown/MDX)

Astro được sinh ra để làm content site. Hệ thống Content Collections của Astro cực kỳ mạnh mẽ:

  • Type-safe schema validation với Zod.
  • Support Markdown/MDX out-of-the-box.
  • Dễ dàng query và filter bài viết.

3. Framework Agnostic

Đây là điểm “ăn tiền” nhất. Với Astro, tôi có thể dùng React component cho cái Search bar, dùng Vue component cho cái Chart, và Svelte cho cái Interactive widget… tất cả trong cùng một dự án.

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

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

Kết luận

Nếu bạn xây dựng Web App phức tạp (Dashboard, SaaS), Next.js vẫn là lựa chọn số 1. Nhưng nếu bạn làm Blog, Portfolio, Documentation… Astro là chân ái.

Đơn giản, nhanh, và tập trung vào nội dung. Đó là lý do DevNotes chạy trên Astro. 🚀

Bình luận

Đang tải...

Back to Blog