Portfolio pribadi sering dianggap proyek yang tidak perlu dipikirkan — HTML statis pun cukup. Tapi justru karena sederhananya, pilihan framework jadi terasa jujur: tidak ada tim, tidak ada legacy, hanya kebutuhan nyata. Ini alasan saya jatuh ke Next.js App Router.
Fitur yang paling mengubah pola pikir saya adalah default-nya server component. Data fetching tinggal await langsung di komponen:
export default async function Page() {
const posts = await getAllPosts();
return <BlogList posts={posts} />;
}Tidak ada efek, tidak ada state loading, tidak ada bundle JavaScript untuk pekerjaan yang seharusnya di server. Interaktivitas tetap ada di tempat yang memang butuh — tombol tema, widget chat, form komentar — masing-masing ditandai "use client" secara sadar.
Untuk situs portfolio, SEO bukan bonus melainkan inti. App Router mengekspornya begitu saja:
export const metadata: Metadata = {
title: { default: "Andre Kusuma Firmansah", template: "%s | Andre" },
};Ditambah konvensi file seperti sitemap.ts, robots.ts, rss.xml, dan opengraph-image.tsx, semua kebutuhan discoverability terselesaikan tanpa pustaka tambahan. Hal-hal kecil seperti ini yang membuat developer experience-nya terasa dirancang oleh orang yang pernah membangun website sungguhan.
Kejujuran juga berarti membahas sisi buruknya:
Kalau situsmu benar-benar brosur statis tanpa data dinamis sama sekali, Astro atau bahkan HTML murni lebih ringan. Kalau produkmu adalah dashboard SPA kompleks dengan state global rumit, Vite plus React polos kadang lebih lugas. App Router bersinar di tengahnya: konten yang harus terindeks, bercampur interaksi yang harus hidup.
Framework terbaik adalah yang menghilangkan pekerjaan yang tidak kamu mau lakukan. Bagi saya, itu berarti SEO otomatis, gambar share dinamis, dan deploy tanpa konfigurasi. Portfolio ini hidup buktinya — kamu sedang membacanya dari hasil kerja semua keputusan di atas.
Belum ada komentar. Jadilah yang pertama!