Loading...
Kalau kamu sudah pernah ngulik Next.js, pasti sempat bingung soal dua pendekatan routing yang disediakan: Pages Directory dan App Router. Dua-duanya bisa dipakai, tapi cara kerjanya beda banget. Nah, artikel ini akan bantu kamu paham perbedaan antara keduanya, kelebihan masing-masing, dan kapan sebaiknya pakai yang mana.
Pages Directory adalah pendekatan routing tradisional di Next.js (versi <13), yang sudah dipakai sejak awal kemunculannya. Di sini, file dan folder di dalam /pages secara otomatis menjadi route berdasarkan struktur folder-nya.
/pages
├── index.js → "/"
├── about.js → "/about"
└── blog
└── [slug].js → "/blog/my-post"
Setiap file di dalam /pages akan dianggap sebagai komponen React yang mewakili sebuah halaman.
App Router adalah fitur baru yang diperkenalkan secara stabil di Next.js 13+. Alih-alih /pages, kamu akan menggunakan /app sebagai direktori utama untuk routing. Pendekatan ini dirancang dengan konsep React Server Components dan layout bersarang (nested layouts) secara default.
/app
├── layout.js → Layout utama
├── page.js → "/"
└── blog
├── layout.js → Layout khusus blog
├── page.js → "/blog"
└── [slug]
└── page.js → "/blog/my-post"
loading.js, error.js, dan not-found.js per route.| Kriteria | Pages Directory | App Router |
|---|---|---|
| Pemula Friendly | ✅ Sangat | ⚠️ Perlu belajar konsep baru |
| Support Layout Bersarang | ❌ Butuh trik tambahan | ✅ Native support |
| React Server Components | ❌ Tidak support | ✅ Fully supported |
| Production Ready | ✅ Terbukti stabil | ✅ Tapi masih evolving |
| Kompatibilitas Library | ✅ Tinggi | ⚠️ Beberapa belum support RSC |
Kamu bisa tetap pakai Pages kalau:
App Router adalah masa depan Next.js. Gunakan kalau:
Dua pendekatan routing ini sama-sama valid, tapi cocoknya beda-beda tergantung kebutuhan proyek dan pengalaman timmu. Kalau kamu baru mulai, Pages Directory masih sangat relevan. Tapi kalau kamu mau bikin sistem modular, scalable, dan siap masa depan, App Router wajib mulai dipelajari.
Pro Tip: Dalam Next.js 14+, Pages dan App Router bisa hidup berdampingan. Jadi kamu bisa migrasi secara bertahap 🚀
Semoga artikel ini bisa bantu kamu lebih yakin memilih jalur yang tepat saat bekerja dengan Next.js. Selamat berkarya!