I'm always excited to take on new projects and collaborate with innovative minds.
Kayseri/Turkey
Next.js, React tabanlı modern web uygulamaları geliştirmek için kullanılan popüler bir framework'tür. Zaman içinde Next.js'nin mimarisi değişti ve iki farklı yönlendirme (routing) modeli ortaya çıktı: Page Router (sayfa yönlendirme) ve App Router (uygulama yönlendirme). Bu yazıda, her iki sistemin farklarını, amaçlarını ve günümüzde hangi yöntemin tercih edilmesi gerektiğini detaylıca ele alacağız.
Page Router, Next.js'in eski yönlendirme sistemidir ve Next.js 13'ten önce varsayılan olarak kullanılıyordu. pages/
dizini içinde yer alan her dosya otomatik olarak bir route (yönlendirme) oluşturur.
pages/index.js
→ /
, pages/about.js
→ /about
gibi çalışır.pages/api/
dizini altında API endpoint'leri tanımlanabilir.next/link
ve next/router
kullanılarak sayfalar arası geçişler optimize edilir.App Router, Next.js 13 ile tanıtılan ve Next.js 14 ile geliştirilen yeni yönlendirme sistemidir. app/
dizini içinde yer alır ve React Server Components (RSC) ile derinlemesine entegrasyon sağlar.
layout.tsx
ile sayfalar arasında paylaşılabilen düzenler oluşturulabilir.app/api/
altında daha esnek API endpoint'leri oluşturulabilir.Özellik | Page Router (pages/ ) | App Router (app/ ) |
---|---|---|
Routing | Dosya tabanlı | Dosya tabanlı (layout destekli) |
Server Components | Yok | Varsayılan olarak mevcut |
getStaticProps / getServerSideProps | Var | Yok (Yerine fetch() ve Server Components kullanılıyor) |
Layout Sistemi | Custom _app.js , _document.js | layout.tsx ile daha gelişmiş |
API Routes | pages/api/ kullanır | app/api/ ve Route Handlers kullanır |
Middleware | Next.js 12 ile geldi | Daha güçlü ve esnek bir şekilde entegre |
Performans | Daha fazla istemci tarafı yükleme | Daha az istemci tarafı JavaScript |
Öğrenme Eğrisi | Daha kolay (Next.js 12'ye kadar alışkın olanlar için) | Daha zor (RSC ve yeni API'ler öğrenmeyi gerektirir) |
app/api/
yapısına geçiş sürecini iyi analiz etmek önemlidir.Next.js, geliştiricilere hem eski hem de yeni yönlendirme yöntemlerini destekleyerek esneklik sunuyor. Page Router hala destekleniyor ancak gelecekte tamamen App Router'a geçiş bekleniyor. Bu nedenle yeni projeler için App Router tercih edilmelidir. Mevcut projelerde ise mümkün olduğunca App Router’a geçiş süreci planlanmalıdır.
Eğer büyük bir geçiş süreci yaşıyorsanız veya belirli bir özelliğin nasıl taşınacağı konusunda emin değilseniz, Next.js belgelerini inceleyerek ve küçük test projeleri oluşturarak kendinizi bu yeni sisteme alıştırabilirsiniz. 🚀
E-posta hesabınız yayımlanmayacak. Gerekli alanlar işaretlendi *