Dari Next.js ke Astro: Catatan Migrasi

Lessons learned membangun ulang portfolio dengan Astro setelah bertahun-tahun di ekosistem React.

astrowebdevreact

Portfolio ini sebelumnya saya rencanakan akan dibangun dengan Next.js — default saya selama bertahun-tahun. Tapi untuk situs yang 99% konten statis, membungkus semuanya di dalam React runtime terasa seperti menyewa truk hanya untuk beli gorengan.

Astro memberikan pendekatan yang berbeda: komponen dirender jadi HTML statis, JavaScript hanya dikirim kalau benar-benar dibutuhkan. Hasilnya? Skor Lighthouse yang bikin senyum, dan struktur proyek yang justru terasa lebih sederhana.

Hal yang paling saya sukai: content collections. Frontmatter divalidasi dengan Zod saat build, jadi salah ketik di metadata langsung ketahuan sebelum deploy. Setelah terbiasa, saya bertanya-tanya kenapa ini bukan hal standar di semua SSG.

Bukan berarti Astro menggantikan Next.js untuk semua case — kalau butuh dashboard yang interaktif penuh, React (atau Solid, atau Vue) tetap pilihan yang tepat. Tapi untuk situs konten? Sulit untuk kembali ke cara lama.