Next.js 16 App Router — yıllarca Pages Router kullandıktan sonra bilmeniz gerekenler
5 Nortinia frontend'ini App Router'a taşıdık. Ne kazandığımızı, ne kaybettiğimizi ve neyi farklı yapacağımızı anlatıyoruz.
Next.js 16 App Router, Pages'in bir evrimi değildir. Aynı paketle gelen farklı bir framework'tür.
Nortinia'nın beş frontend'inin beşi de (nortinia-site, netorigo-app-admin, netorigo-app-storefront, finance-web, logistics-web) Next.js 16 App Router üzerinde çalışıyor. Beş geçişin tamamı 2025'in ikinci yarısında yapıldı ve her biri 2-3 hafta sürdü. Aşağıdaki dersler bir yıllık production deneyiminden geliyor.
Ne kazandık
- Server component'ler — veri çeken bileşenler için istemci paketi yok
- Streaming SSR — kullanıcılar ilk içeriği daha hızlı görüyor
- İç içe layout'lar — 15 sayfaya kopyala-yapıştır “layout wrapper” tarihe karıştı
- Route grupları () — kök layout'un daha temiz sürümlenmesi
- Server action'lar — POST olmadan mutation, PR başına 10 satır daha az
Ne kaybettik
- getServerSideProps'un sadeliği — artık her yerde “use server” işaretleri var
- Birçok üçüncü taraf kütüphane henüz server component'leri desteklemiyor
- Hata mesajları daha bulanık — “hydration mismatch” hata ayıklaması 2 saat sürüyor
- Dev sunucusu Turbopack ile hızlı, Webpack ile Pages Router'dan yavaş
- Cache semantiği — revalidate ve Router.refresh bazen birbiriyle çelişiyor
Neyi farklı yapardık
İlk geçişte her şeyi aynı anda denedik — server component'ler, server action'lar, streaming, yeni cache. İkincisinde aşamalı ilerledik: önce yalnızca router değişikliği, bileşenleri “use client” olarak bırakarak. Sonraki sürümde server component'ler. Ardından server action'lar. Bu iki hafta daha uzun sürdü ama production'a 5 kat daha az hata gönderdi.
Bugün sıfırdan bir projeye mi başlıyorsunuz? İlk günden App Router kullanın. Geçişi ancak Pages Router ekibe gerçekten zarar veriyorsa deneyin. “Teknik heyecan”, özellik teslimatını üç hafta dondurmak için asla geçerli bir neden değildir.