Tại sao nên chọn Astro để làm blog? Đánh giá framework siêu tốc
Đánh giá chi tiết Astro framework: Kiến trúc Islands, Zero JS mặc định và lý do vì sao Astro là lựa chọn tối ưu nhất cho website blog tốc độ cao.
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! 🚀
Bạn thấy bài viết này thế nào?
Thả cảm xúc không giới hạn để chia sẻ góc nhìn cùng tác giả nhé!
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 →