"Yazılım ekibim React kullanıyor, peki Next.js'e geçmeli miyiz?" Bu soruyu aldığımızda tek cevabımız yok — projenin tipi belirleyici. Bu yazıda ne zaman Next.js ne zaman React yeterli, net kriterlerle ele alıyoruz.
Önce temel: React nedir, Next.js nedir?
React, Facebook'un geliştirdiği bir JavaScript kütüphanesi. Kullanıcı arayüzü bileşenleri oluşturmak için kullanılır. Kendi başına yalnızca istemci tarafı (client-side) çalışır — sayfa rendering, routing, veri çekme hep sizin kurmanız gereken şeyler.
Next.js, React'ın üzerine inşa edilmiş bir framework. Server-side rendering (SSR), static site generation (SSG), dosya-tabanlı routing, image optimization, API routes gibi hazır özellikler sunar. Vercel tarafından geliştiriliyor.
Kısaca: Next.js = React + production-ready framework özellikleri.
Ne zaman Next.js seçmelisiniz?
✅ Pazarlama / kurumsal web sitesi. SEO kritik, statik export yapabiliyorsunuz, hız ve ilk içerik gösterimi önemli.
✅ E-ticaret. SSG ile ürün sayfaları statik render, aynı sitede admin panel client-side — ikisini bir arada yönetmek kolay.
✅ Blog / içerik sitesi. MDX ile yazı yazmak, her yazı için ayrı HTML dosyası üretmek (statik), SEO avantajı.
✅ Kullanıcı bilgileri yüklü SaaS. Server-side rendering ile ilk ekran hızlı gelir, client-side state yönetimi ile zengin etkileşim.
✅ SEO önemli olan her proje. Next.js 16 ile Metadata API, sitemap.ts ve robots.ts standart.
Ne zaman vanilla React yeterlidir?
✅ İç admin paneli. Kullanıcılar login olduktan sonra kullanıyor, Google'dan bulunmasına gerek yok.
✅ Real-time dashboard. Sürekli değişen canlı veri gösteren kontrol panelleri — SSR fayda getirmez.
✅ Desktop app (Electron). Electron projeleri için React + Vite daha az overhead.
✅ Küçük prototip. Birkaç saatlik deneysel projede Next.js'in ek katmanına ihtiyaç yok.
✅ Mobile web (SPA). React Native Web veya react-router + react-query yeterli.
Karşılaştırma Tablosu
| Özellik | React | Next.js |
|---|---|---|
| SSR / SSG | Manuel | Hazır |
| Routing | react-router | Dosya tabanlı |
| SEO | Zor | Kolay |
| Görsel optimizasyonu | Manuel | next/image |
| Font optimizasyonu | Manuel | next/font |
| API routes | Ayrı backend gerekir | Dahili |
| Static export | Manuel | output: 'export' |
| Öğrenme eğrisi | Orta | Orta-Yüksek |
| Esneklik | Çok yüksek | Yüksek (opinionated) |
| Build süresi | Hızlı | Orta |
Performans karşılaştırması
Gerçek rakamlarla:
- İlk içerik boyanma (FCP): Next.js (SSG) ~500ms, React SPA ~1.5s
- Lighthouse SEO skoru: Next.js 100, React SPA 70-85
- Bundle boyutu: React + kendi setup genelde daha küçük, ama Next.js otomatik code splitting ile runtime'da fark kapanır
Maliyet farkı
Next.js projeleri ilk kurulumda biraz daha fazla iş gerektirir (5-10 gün ekstra) ama uzun vadede tasarruf sağlar: SEO için ayrı çaba yok, image optimization hazır, deployment tek komut. Genel hesapla 6 ay+ süren projelerde Next.js toplam maliyeti %10-15 düşürür.
Bizim tercihimiz: %90 projede Next.js
SolidSoft'ta müşteri özel bir sebep sunmadıkça Next.js ile başlıyoruz. Sebepleri:
- SEO hazır gelir — müşteriler bunu sonra eklemek isteyince ek maliyet çıkar
- Deployment kolay — Vercel ile tek click
- Ekipten bilgi aktarımı rahat — ekosistem standart
- Gelecek garantisi — Vercel arkasında, her ay güncelleme
Ne zaman tam tersi yaparız?
- Müşterinin özel bir backend framework'ü (Laravel, Django) var, React bir widget gibi ekleniyor
- Elektron/mobil ortamında çalışan bir UI (Next.js SSR anlamlı değil)
- Hiper-özel build pipeline'ı olan bir monorepo
Sonuç
Yeni projeye başlıyorsanız ve SEO veya performans önemliyse → Next.js. Kullanıcılar login sonrası gelen iç uygulama ve SEO önemli değilse → vanilla React + Vite yeterli.
Projenizde hangi stack'i seçeceğinizden emin değilseniz ücretsiz keşif görüşmemiz var — 30 dakikada size net bir tavsiye sunuyoruz.