Dari Next.js ke Astro: Catatan Migrasi
Lessons learned membangun ulang portfolio dengan Astro setelah bertahun-tahun di ekosistem React.
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.