Next.js Nedir? Ne işe Yarar?
React.js kütüphanesidir. React.js kullanarak SSR (Server Side Rendering) web uygulamaları geliştirebilmenize imkan tanır. Böylece hem performanslı hem de yüksek düzeyde SEO uyumlu olmuş olur.
Özetle, Server Side Rendering destekli react uygulaması yapmamızı sağlayan kütüphane. Kurulum ile birlikte hiçbir yapılandırma yapmadan Route, SSR ve Code-Splitting gibi zorlu işlemleri hazır olarak barındırır.
React
Next.js avantajları
- Güçlü SSR (Server Side Render) ve SSG (Static Site Generation) desteği
- Kolay yapılandırma – Modüler yapısı sayesinde hem özelleştirilebilir hem de genişletilebilir.
- Otomatik kod bölünmesi (Code Splitting) – sadece kullanıcının ihtiyaç duyduğu block’lar yüklenir.
- Geniş geliştirici topluluğu ve uzman deneyimi
- Veri ön yükleme ve uzun süreli işlemler, sunucu tarafında hizmet işçileri ile yönetebilme
- Sayfa geçişleri yapmadan önce ön yükleme konforu (Prefetching)
- Dosya tabanlı dinamik yönlendirme (Dosya tabanlı route yönetimi)
- Material Design desteği
- Vercel küresel ağı entegrasyonu ile hızlı ve güvenli çalışma
- Sunucu tarafında API’lar oluşturma ve yönetebilme (API Routes)
- Güncelleme kolaylığı
Next.js dezavantajları
- Belirli kurallar ve önceden yapılandırılmış ayarlarla geldiği için bazı özel durumlar için özelleştirilme seçenekleri kısıtlıdır.
- Büyük boyutlu uygulamalarda ilk yükleme yavaş olabilir.
- Karmaşık tasarım düzenleri oluşturmak zor olabilir.
- SSR modu kullanıldığı zaman güvenlik riskleri söz konusu olabilir.
- SSR modu kullanıldığı zaman sunucu maliyeti artabilir.
Next.js ve React arasındaki farklar
- React’da SSR yoktur.
- React dosya tabanlı route yapamaz.
- React dosya tabanlı sayfa oluşturamaz.
- React’da code splitting yoktur.
Next.js Kurulum Adımları
- NodeJS ve npm kurulumu
NodeJS kurulumu için tıklayınız. npm, NodeJS ile beraber gelmektedir. - NodeJS kurulumu için gerekli paketin yüklenmesi
npx create-next-app@latest
veya hazır örnek proje kurmak için gerekli komut:
npx create-next-app@latest nextjs-blog --use-npm --example "https://github.com/vercel/next-learn/tree/main/basics/learn-starter"
- Kurulum sırasında aşağıdaki istemlere yanıt veriniz.
What is your project named? my-app Would you like to use TypeScript? No / Yes Would you like to use ESLint? No / Yes Would you like to use Tailwind CSS? No / Yes Would you like to use `src/` directory? No / Yes Would you like to use App Router? (recommended) No / Yes Would you like to customize the default import alias (@/*)? No / Yes What import alias would you like configured? @/*
- İstemlerden sonra
create-next-app
adında bir proje oluşturulacak ve gerekli bağımlılıklar yüklenecektir. - Projeyi çalıştırmak için gerekli komut:
npm run dev