Lewati ke konten
Pengembangan Web

App Router vs Pages Router Next.js: Kapan Pakai yang Mana?

M. Irfan Ramadhan2 menit baca
Layar laptop menampilkan editor kode dengan sintaks berwarna hijau dan oranye di ruangan gelap.
Foto: Pexels
Daftar Isi

App Router dipakai untuk proyek Next.js baru karena jadi rekomendasi resmi sejak versi 13.4 (Mei 2023), berbasis React Server Components dengan bundel JavaScript client lebih kecil. Pages Router tetap masuk akal dipertahankan untuk aplikasi besar yang sudah stabil di arsitektur lama, di mana rewrite penuh belum sepadan dengan manfaatnya.

Apa Beda App Router dan Pages Router Next.js?

Perbedaan paling mendasar ada di model rendering default. Pages Router (direktori pages/, arsitektur asli Next.js sejak awal) merender komponen di client secara default kecuali eksplisit memakai getServerSideProps atau getStaticProps. App Router (direktori app/, diperkenalkan di Next.js 13) membalik default itu: setiap komponen adalah React Server Component kecuali ditandai "use client" secara eksplisit.

Konvensi Routing dan Struktur File

Pages Router memetakan tiap file di pages/ langsung jadi satu route. App Router memakai konvensi berbasis folder: app/blog/page.tsx jadi route /blog, sementara layout.tsx, loading.tsx, dan error.tsx di folder yang sama otomatis dipakai untuk route tersebut tanpa perlu komponen pembungkus manual.

Data Fetching

Di Pages Router, data fetching dilakukan lewat fungsi khusus di level halaman (getServerSideProps, getStaticProps, getInitialProps). Di App Router, data fetching dilakukan langsung di dalam Server Component memakai async/await biasa, tanpa fungsi khusus terpisah.

Kapan Sebaiknya Pakai App Router?

Untuk proyek baru, App Router adalah pilihan default yang direkomendasikan resmi oleh tim Next.js sejak App Router dinyatakan stabil di versi 13.4, 4 Mei 2023. Server Components mengurangi jumlah JavaScript yang dikirim ke browser karena komponen yang tidak butuh interaktivitas tidak perlu di-hydrate di client, dan server bisa mengirim HTML bertahap (streaming) sehingga First Contentful Paint lebih cepat dirasakan pengguna.

Situs personal brand ini sendiri dibangun dengan Next.js 15 dan App Router penuh, termasuk untuk hal-hal seperti pemasangan schema markup JSON-LD langsung sebagai Server Component tanpa perlu useEffect atau library tambahan di client.

Kapan Pages Router Masih Masuk Akal Dipertahankan?

Pages Router tidak deprecated dan tetap menerima dukungan resmi. Untuk aplikasi besar yang sudah berjalan stabil di Pages Router, migrasi total ke App Router butuh effort nyata (pola data fetching, state management, dan sebagian library pihak ketiga bisa berperilaku beda di Server Component) yang belum tentu sepadan kalau aplikasinya sudah bekerja baik.

Next.js sengaja mendesain direktori app/ agar bisa berjalan berdampingan dengan pages/ di proyek yang sama, jadi migrasi bertahap per route adalah pendekatan yang didukung resmi, bukan cuma workaround.

Ringkasan

  • App Router adalah rekomendasi default untuk proyek Next.js baru sejak versi 13.4 (4 Mei 2023), dengan model Server Component sebagai default.
  • Pages Router masih didukung resmi (bukan deprecated) dan tetap jadi pilihan wajar untuk aplikasi besar yang sudah stabil di arsitektur itu.
  • Keduanya bisa hidup berdampingan dalam satu proyek, sehingga migrasi bisa dilakukan bertahap per route, bukan rewrite total sekaligus.
  • Butuh bantuan menentukan arsitektur Next.js yang tepat untuk proyekmu, atau migrasi dari Pages Router ke App Router? Lihat layanan web development yang ditawarkan.

nextjs · app-router · pages-router · react

Pertanyaan yang Sering Diajukan

Apakah Pages Router sudah deprecated di Next.js?

Belum. Pages Router masih didukung resmi, masih menerima perbaikan bug, dan bisa hidup berdampingan dengan App Router di proyek yang sama. Yang berubah adalah rekomendasi default: proyek baru diarahkan memakai App Router, bukan Pages Router dihapus.

Apakah App Router sudah stabil untuk produksi?

Ya, sejak Next.js 13.4 dirilis 4 Mei 2023, tim Next.js secara resmi menyatakan App Router siap produksi setelah divalidasi internal dan early adopter. Situs ini sendiri memakai Next.js 15 dengan App Router.

Bisakah App Router dan Pages Router dipakai bersamaan dalam satu proyek?

Bisa. Next.js sengaja mendesain direktori `app/` agar berjalan berdampingan dengan `pages/`, sehingga migrasi bisa dilakukan bertahap per halaman/route, bukan rewrite total sekaligus.

M. Irfan Ramadhan

SEO Specialist & Web Developer

Menulis tentang SEO teknis, GEO/AI search, dan pengembangan web modern berdasarkan pengalaman langsung mengerjakan proyek klien.