Next.js Nedir? Production için React Framework'ü
Next.js (App Router) ile fullstack React uygulamaları geliştirin. SSR, SSG, ISR, API routes, Server Components ve performans avantajlarının pratik rehberi.
Next.js, React'in üzerine inşa edilmiş, fullstack uygulamalar geliştirmek için Vercel tarafından bakımı yapılan endüstri standardı bir framework'tür. Server-side rendering, static site generation, API rotaları, görüntü ve font optimizasyonu gibi production için kritik özellikleri kutudan çıkar çıkmaz sunar. App Router'la birlikte React Server Components da ekosisteme tam entegre edildi. Bu rehberde infografikteki 13 bölümü açarak Next.js'in modern özelliklerini tek tek inceliyoruz.
Next.js Nedir?
Production için inşa edilmiş bir React framework'üdür. Server-side rendering, static site generation ve performans, ölçeklenebilirlik ve SEO için tasarlanmıştır. Vercel tarafından geliştirilir ve modern web uygulamalarının go-to seçeneklerinden biridir.
- Fullstack React uygulamaları için framework
- SSR + SSG desteği
- Performans, ölçeklenebilirlik ve SEO odaklı
Neden Next.js?
Next.js'in size hazır verdikleri:
- Built-in routing (file-based)
- Server-side rendering & static site generation (SSG)
- API rotaları (backend frontend içinde)
- Görüntü ve performans optimizasyonu
- Mükemmel geliştirici deneyimi
- Hızlı performans, SEO dostu, fullstack hazır
Kurulum
Tek komutla yeni bir Next.js projesi oluşturabilirsiniz; create-next-app interaktif bir wizard ile App Router, TypeScript, Tailwind, ESLint seçimlerini sunar.
npx create-next-app@latestProje Yapısı
App Router'la birlikte gelen modern dizin yapısı dosya tabanlı routing'e dayanır. Her klasör bir route, layout.tsx layout, page.tsx route'un sayfasıdır.
app/
├── layout.tsx # ortak layout
├── page.tsx # / sayfası
├── about/
│ └── page.tsx # /about
└── api/
└── hello/
└── route.ts # /api/helloApp Router (ÖNEMLİ)
Next.js 13+ ile gelen yeni routing sistemi. React Server Components'i varsayılan olarak destekler, layout, loading ve streaming gibi modern özelliklere yerleşik altyapı sağlar.
- Next.js'teki yeni routing sistemi
- React Server Components varsayılan
- Layout, loading ve streaming desteği
- Nested routes ile parça parça UI
Server vs Client Components
App Router'da componentler varsayılan olarak Server Component'tir. Client Component yapmak için dosyanın en üstüne 'use client' yazılır.
- Server Component: sunucuda render olur, daha hızlı, browser JS yok
- Client Component: tarayıcıda çalışır, useState/useEffect kullanılabilir
- İkisi nested olarak birleşebilir
"use client";
// bu dosya artık Client ComponentRender Stratejileri
Next.js bir sayfa için 4 farklı render stratejisi sunar; sayfa düzeyinde tercih yapabilirsiniz.
- SSR — her istekte sunucuda render
- SSG — build time'da render edilir, statik HTML üretir
- ISR — SSG + arka planda yenileme (incremental static regeneration)
- CSR — sadece istemcide render
Veri Çekme (App Router)
App Router'da Server Component'ler async olabilir; doğrudan await ile veri çekersiniz. fetch otomatik cache yönetimi yapar.
export default async function Posts() {
const res = await fetch("https://api.example.com");
const data = await res.json();
return <ul>{data.map(p => <li key={p.id}>{p.title}</li>)}</ul>;
}API Routes
Backend endpoint'leri uygulamanın içinde route.ts dosyaları ile yazılır. GET, POST, PUT, PATCH, DELETE export'larıyla HTTP fiilleri tanımlanır.
export async function GET() {
return Response.json({ message: "Merhaba API" });
}Temel Özellikler
Next.js'in production-ready paketinde gelen güçler:
- Dosya tabanlı routing
- Server Components
- Built-in API routes
- Görüntü optimizasyonu (next/image)
- Otomatik kod bölme (code splitting)
- TypeScript desteği yerleşik
Next.js mı, React mı?
İkisinin amacı farklıdır:
- Next.js: fullstack framework — SSR, SSG, SEO, production-ready
- React: sadece UI kütüphanesi — sıfırdan kurmak gerek
- Yeni başlayanlar Next.js ile başlamayı tercih ediyor
Kullanım Alanları
Next.js'in en sık kullanıldığı senaryolar:
- SEO odaklı websiteler
- E-ticaret platformları
- SaaS dashboardları
- Blog ve içerik platformları
- Fullstack web uygulamaları
Özet
Next.js; frontend ve backend'i birleştirir, performansı ve SEO'yu iyileştirir, production-ready varsayılanlarla gelir. Modern, hızlı ve ölçeklenebilir web uygulamaları için React framework'ü seçimleri arasında zirvede yer alır.
Sıkça Sorulan Sorular
Bu konuda en çok merak edilenler.
App Router mı, Pages Router mı?
Yeni projeler için App Router. Server Components, layout, loading.tsx ve streaming gibi modern özellikleri sadece App Router destekler. Pages Router hâlâ destekleniyor ama feature gap büyüyor.
Vercel olmadan deploy edebilir miyim?
Evet — Node.js çalıştırabilen herhangi bir host (AWS, Docker, Cloudflare Workers) çalışır. Vercel optimize bir entegrasyon sunar ama zorunlu değildir.
SSR mı, SSG mı?
Sayfa içeriği sık değişiyorsa ve kullanıcı bazlı ise SSR. İçerik değişmiyorsa SSG, ara senaryolar için ISR. App Router'da bu seçim sayfa/route düzeyinde olur, varsayılan static.
API Routes yerine ayrı bir backend lazım mı?
Küçük/orta projeler için Next.js API Routes yeterli. Çok yüksek throughput, uzun süreli işlemler veya farklı dil ekipleri varsa ayrı backend (NestJS, Go vs.) tercih edilebilir.
Server Components'te npm paketi kullanabilir miyim?
Evet, sunucuda çalışan herhangi bir paket kullanılabilir. Browser API'lerine ihtiyaç duyan paketler ('use client' gerektirir) sadece Client Components içinde çalışır.
İlgili İçerikler
Bu konuyla bağlantılı diğer infografikler.
- ReactFrontend
React Query Nedir? Axios ve TypeScript ile Mutation Rehberi
React Query (TanStack Query) ile Axios baseURL ayarı, login mutation, create user ve update user hook'larını TypeScript ile kurun.
- ReactFrontend
Zustand Nedir? Basit, Hızlı, Ölçeklenebilir State Management
Zustand ile sıfır boilerplate'e yakın global state yönetimi. Store oluşturma, selectors, async actions, persist middleware ve TypeScript desteği.
- ReactFrontend
React Router v7 Nedir? Declarative Routing Rehberi
React Router v7 ile React uygulamalarında declarative routing. BrowserRouter, Routes, Link, useNavigate, nested routes ve protected routes.
Daha fazla developer infografiği keşfedin
Yeni içerikleri kaçırmamak için ana sayfayı ziyaret edin.
Tüm infografikleri gör