Quay lại Blog
web developmentjavascript

Tại sao tôi chọn Astro để xây dựng blog?

Một framework hiện đại, nhanh như tên lửa, và hoàn hảo cho content-focused website. Đây là lý do tại sao Astro là lựa chọn số 1 của tôi.

T
Thinkinh.
3 phút đọc
Tại sao tôi chọn Astro để xây dựng blog?

Tại sao Astro?

Khi quyết định xây dựng thinkinh., tôi đã dành khá nhiều thời gian để nghiên cứu các framework khác nhau. Và cuối cùng, Astro đã chiến thắng. Đây là lý do.

1. Zero JavaScript by Default

Astro có một triết lý độc đáo: ship less JavaScript. Mặc định, Astro sẽ render mọi thứ thành HTML tĩnh, chỉ gửi JavaScript khi thực sự cần thiết.

---
// Server-side code chạy ở build time
const posts = await getCollection('blog');
---

<!-- HTML tĩnh, không có JavaScript -->
<ul>
  {posts.map(post => (
    <li>{post.data.title}</li>
  ))}
</ul>

2. Content Collections

Một trong những tính năng powerful nhất của Astro là Content Collections. Nó cho phép bạn:

  • Type-safe content với TypeScript
  • Validation tự động với Zod
  • Querying dễ dàng
const blogCollection = defineCollection({
  type: 'content',
  schema: z.object({
    title: z.string(),
    description: z.string(),
    pubDate: z.date(),
    tags: z.array(z.string()),
  }),
});

3. Island Architecture

Astro sử dụng kiến trúc Islands — cho phép bạn hydrate chỉ những component cần interactivity:

<!-- Static HTML -->
<Header />

<!-- Interactive Island -->
<SearchComponent client:load />

<!-- Static HTML -->
<Footer />

4. Framework Agnostic

Bạn có thể sử dụng React, Vue, Svelte, hoặc bất kỳ framework nào trong cùng một project:

---
import ReactCounter from './Counter.jsx';
import VueButton from './Button.vue';
import SvelteCard from './Card.svelte';
---

<ReactCounter client:visible />
<VueButton client:idle />
<SvelteCard />

Think-inh Insight

Đừng chọn framework vì nó "hot". Hãy chọn vì nó phù hợp với use case của bạn. Với blog và content sites, Astro là gần như perfect choice.

Performance Comparison

MetricNext.jsGatsbyAstro
First Load JS~80KB~90KB~0KB
Build Time (100 pages)45s60s15s
Lighthouse Score85-9580-9095-100

Kết luận

Astro không phải là silver bullet cho mọi project. Nhưng nếu bạn đang xây dựng:

  • Blog
  • Documentation site
  • Marketing website
  • Portfolio

…thì Astro xứng đáng là lựa chọn hàng đầu.

📌 Key Takeaway

  • Zero JS by default = Performance tuyệt vời
  • Content Collections = Type-safe, dễ quản lý
  • Island Architecture = Chỉ hydrate khi cần
  • Framework agnostic = Tự do lựa chọn

Bạn đang dùng framework nào cho blog của mình? Let me know! 🚀

Chia sẻ bài viết:

T

Thinkinh.

Gen Z yêu code và yêu chữ. Viết blog như một cách để suy nghĩ rõ ràng hơn.

Tìm hiểu thêm về tôi →