Next.js | Introduction
Overview
Next.js adalah framework React dari Vercel untuk produksi. Rilis terbaru (kompatibel dengan React 19) berfokus pada App Router: rendering hybrid (SSR, SSG/ISR), file-based routing di app/, React Server Components, caching otomatis, dan data fetching terintegrasi.
Apa itu Next.js?
Next.js adalah framework open-source yang menambahkan routing, rendering server, dan optimasi build di atas React. Fitur utamanya:
- App Router: folder
app/dengan file-based routing, React Server Components, dan nested layouts. - Rendering hybrid: SSR untuk data dinamis, SSG/ISR untuk konten cacheable, serta client-side rendering bila diperlukan.
- Data fetching terintegrasi:
fetchyang sadar cache/revalidate di Server Components dan Server Actions. - Optimasi bawaan: code splitting otomatis, image/font optimizations, middleware, dan hot refresh saat development.
Apa yang Membedakan Next.js Dengan React?
- Routing: Next.js punya file-based routing; React murni perlu router pihak ketiga.
- Rendering: Next.js mendukung SSR/SSG/ISR di luar kotak; React murni default di klien.
- Build & deploy: Next.js menangani bundling, optimasi asset, dan middleware/edge; React murni perlu toolchain terpisah.
- Konvensi: Next.js memberi opini (folder
app/, filelayout.tsx, metadata API); React murni fleksibel tapi membutuhkan keputusan arsitektur sendiri.
Kelebihan dari Next.js
- SSR/SSG/ISR bawaan meningkatkan SEO dan performa.
- App Router + React Server Components memindahkan logika data ke server.
- Optimasi gambar/font/link otomatis.
- Code splitting dan prefetch di level routing membuat navigasi cepat.
- Ekosistem middleware/edge dan integrasi Vercel siap pakai.
Kekurangan dari Next.js
- App Router butuh pemahaman baru (Server/Client Components, boundaries).
- SSR/ISR memerlukan strategi cache dan invalidasi yang tepat.
- Bundle klien bisa membesar jika terlalu banyak komponen
use client. - Edge/middleware perlu memahami runtime yang berbeda.
Cara Instalasi
Prasyarat (mengikuti panduan resmi):
- Node.js 18.18+ (opens in a new tab) (disarankan Node 20 LTS).
- macOS, Windows (termasuk WSL), atau Linux.
Buat proyek baru dengan App Router:
npx create-next-app@latest my-appWizard akan menanyakan TypeScript, ESLint, Tailwind, dan alias import. App Router adalah default.
Menjalankan Server Development
- Masuk ke folder proyek dan jalankan
npm run dev(ataupnpm dev/yarn dev). - Buka http://localhost:3000 (opens in a new tab).
- Edit file
app/page.tsx(App Router) ataupages/index.tsx(Pages Router) lalu simpan untuk hot reload.
Kesimpulan
Next.js memadukan pengalaman React dengan routing, rendering hybrid, dan optimasi build bawaan. Gunakan App Router untuk React Server Components, data fetching tersinkronisasi, serta caching dan revalidasi pintar; pilih SSR/SSG/ISR sesuai kebutuhan tiap rute.