Astro คืออะไร: Framework สำหรับสร้างเว็บที่เร็วที่สุด
#astro12 เม.ย. 2569
Astro คืออะไร
Astro เป็น web framework ที่ออกแบบมาเพื่อสร้างเว็บไซต์ที่เร็วมาก โดยใช้แนวคิด Islands Architecture ที่ส่ง HTML ล้วนๆ ไปยัง browser โดยไม่มี JavaScript เลย ยกเว้นส่วนที่ต้องการ interactivity จริงๆ
ทำไม Astro ถึงเร็ว
- Zero JS by default — ไม่ส่ง JavaScript ไปยัง browser เลย
- Server-first — render ทุกอย่างบน server
- Islands Architecture — hydrate เฉพาะ component ที่ต้องการ
ติดตั้ง Astro
npm create astro@latest my-site
cd my-site
npm run dev
โครงสร้างโปรเจ็ค
my-site/
src/
pages/ # ทุกไฟล์ที่นี่กลายเป็น route
components/ # Astro components
layouts/ # Layout templates
content/ # Markdown/MDX content
public/ # Static assets
astro.config.mjs
Astro Component
---
// Component Script (runs on server)
const greeting = 'สวัสดี';
const { name } = Astro.props;
---
<!-- Component Template -->
<h1>{greeting}, {name}!</h1>
<p>ยินดีต้อนรับสู่ Astro</p>
<style>
h1 { color: #ff5d01; }
</style>
Pages
---
// src/pages/index.astro
import Layout from '../layouts/Layout.astro';
import Card from '../components/Card.astro';
---
<Layout title="หน้าหลัก">
<main>
<h1>ยินดีต้อนรับ</h1>
<Card title="Astro" body="Framework ที่เร็วที่สุด" />
</main>
</Layout>
เปรียบเทียบกับ Framework อื่น
| Framework | JS ที่ส่ง | Use case |
|---|---|---|
| Astro | 0KB (default) | Content sites, blogs |
| Next.js | ~70KB+ | Full-stack apps |
| Nuxt | ~80KB+ | Vue apps |
| SvelteKit | ~10KB+ | Interactive apps |
สรุป
Astro เหมาะกับ content-heavy sites เช่น blog, documentation, marketing pages ที่ต้องการ performance สูงและ SEO ดีครับ