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ạ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
| Metric | Next.js | Gatsby | Astro |
|---|---|---|---|
| First Load JS | ~80KB | ~90KB | ~0KB |
| Build Time (100 pages) | 45s | 60s | 15s |
| Lighthouse Score | 85-95 | 80-90 | 95-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! 🚀
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 →