Next.js 15 baru saja dirilis dengan fitur App Router generasi berikutnya, Server Actions, dan integrasi TypeScript yang mulus. Tutorial ini membahas instalasi, konfigurasi, contoh kode, serta best practice untuk membangun aplikasi web modern yang scalable dan performant.
1. Persiapan Lingkungan
Pastikan Anda memiliki versi terbaru Node.js (v20.x atau lebih tinggi) dan npm atau pnpm. Jika belum terpasang, unduh dari nodejs.org.
1.1 Instalasi Node.js
# Menggunakan nvm (rekomendasi)
nvm install 20
nvm use 20
1.2 Membuat Folder Proyek
mkdir next15-demo && cd next15-demo
2. Membuat Proyek Next.js 15 dengan TypeScript
Next.js 15 menyediakan create-next-app yang otomatis menyiapkan TypeScript bila Anda menambahkan flag --ts.
npx create-next-app@latest . --ts --experimental-app-router
Perintah di atas akan menghasilkan struktur folder berikut:
app/ # App Router (folder baru)
components/ # Komponen UI
public/ # Asset statis
next.config.mjs
tsconfig.json
package.json
3. Konfigurasi Dasar
3.1 next.config.mjs
Aktifkan fitur Server Actions dan atur experimental flag yang diperlukan.
/** @type {import('next').NextConfig} */
const nextConfig = {
reactStrictMode: true,
images: { remotePatterns: [{ hostname: 'images.unsplash.com' }] },
experimental: {
serverActions: true,
appDir: true,
},
};
export default nextConfig;
3.2 tsconfig.json
Tambahkan opsi yang disarankan untuk Next.js 15.
{
"compilerOptions": {
"target": "es2022",
"module": "esnext",
"lib": ["dom", "dom.iterable", "esnext"],
"allowJs": true,
"skipLibCheck": true,
"strict": true,
"forceConsistentCasingInFileNames": true,
"noEmit": true,
"incremental": true,
"jsx": "preserve",
"moduleResolution": "node",
"resolveJsonModule": true,
"isolatedModules": true,
"esModuleInterop": true,
"baseUrl": ".",
"paths": { "@/*": ["./*"] }
},
"include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"],
"exclude": ["node_modules"]
}
4. Membuat Halaman dengan App Router
4.1 Struktur Direktori
App Router menggunakan folder app sebagai root. Buat file app/page.tsx sebagai landing page.
import Link from 'next/link';
export default function HomePage() {
return (
Selamat datang di Next.js 15
Ini adalah contoh proyek dengan App Router, Server Actions, dan TypeScript.
Lihat About
);
}
4.2 Membuat Route Tambahan
Buat folder app/about dan file page.tsx di dalamnya.
export const metadata = {
title: 'About – Next.js 15 Demo',
};
export default function AboutPage() {
return (
About Page
Demo singkat penggunaan Server Actions pada form.
);
}
import ContactForm from '@/components/ContactForm';
5. Implementasi Server Actions
Server Actions memungkinkan Anda menulis fungsi server langsung di dalam komponen React tanpa membuat API route terpisah.
5.1 Membuat Komponen Form
Buat file components/ContactForm.tsx.
"use server";
import { useState } from 'react';
// Action yang dieksekusi di server
async function submitContact(data: FormData) {
// Simulasi penyimpanan ke database (contoh: Prisma)
await new Promise((r) => setTimeout(r, 500));
console.log('Data diterima:', Object.fromEntries(data.entries()));
// Bisa mengembalikan nilai untuk UI feedback
return { success: true };
}
export default function ContactForm() {
const [status, setStatus] = useState('');
const handleSubmit = async (e: React.FormEvent) => {
e.preventDefault();
const form = e.currentTarget;
const result = await submitContact(new FormData(form));
setStatus(result.success ? 'Terima kasih!' : 'Gagal mengirim');
form.reset();
};
return (
);
}
5.2 Penjelasan Singkat
"use server"menandakan bahwa fungsi berada di lingkungan server.- Form data dikirim via
FormDatatanpa perlu endpoint terpisah. - Next.js secara otomatis menangani serialisasi dan keamanan CSRF.
6. Menambahkan Styling dengan Tailwind CSS (Opsional)
Next.js 15 sudah mendukung integrasi Tailwind secara native.
# Instalasi Tailwind & dependencies
npm install -D tailwindcss@latest postcss@latest autoprefixer@latest
npx tailwindcss init -p
# tailwind.config.js
module.exports = {
content: ["./app/**/*.{js,ts,jsx,tsx}", "./components/**/*.{js,ts,jsx,tsx}"],
theme: { extend: {} },
plugins: [],
};
# src/app/globals.css
@tailwind base;
@tailwind components;
@tailwind utilities;
Setelah itu, gunakan kelas Tailwind di komponen Anda untuk UI yang konsisten.
7. Best Practice untuk Next.js 15
- Gunakan App Router untuk semua route baru. Folder
appmemberikan data fetching yang lebih sederhana (Server Components). - Manfaatkan Server Actions alih-alih API Routes. Mengurangi boilerplate dan meningkatkan keamanan.
- Aktifkan
reactStrictModedanturbopadanext.config.mjsuntuk performa build yang lebih cepat. - Gunakan TypeScript strict mode. Memastikan tipe data konsisten pada Server Actions dan komponen.
- Cache data dengan
fetch()danrevalidatedi Server Components. Contoh:const data = await fetch('/api/posts', { next: { revalidate: 60 } }).then(r=>r.json()); - Deploy ke Vercel atau Platform Edge yang mendukung Runtime Edge. Pastikan runtime Node versi 20+ dipilih.
8. Menjalankan dan Menguji Aplikasi
# Development mode
npm run dev
# Build production
npm run build && npm start
Buka http://localhost:3000 dan navigasikan ke /about untuk mencoba Server Action.
9. Debugging & Monitoring
Next.js 15 menyertakan next devtools yang dapat di‑enable melalui env NEXT_PRIVATE_DEBUG=1. Untuk monitoring produksi, gunakan Vercel Insights atau Sentry dengan SDK @sentry/nextjs.
10. Deploy ke Vercel (One‑Click)
Push repository ke GitHub, lalu klik New Project di dashboard Vercel. Vercel otomatis mendeteksi next.config.mjs dan mengaktifkan Server Actions.
11. Kesimpulan
Tutorial ini menunjukkan bagaimana menyiapkan Next.js 15 dengan App Router, Server Actions, dan TypeScript, serta memberikan praktik terbaik untuk performance, security, dan maintainability. Dengan fondasi ini, Anda dapat mempercepat pengembangan aplikasi modern yang siap bersaing di era cloud‑native 2026.
Next.js 15 memperkenalkan paradigma baru yang menyatukan UI, data fetching, dan logic backend dalam satu kode basis yang bersih. Mengikuti langkah‑langkah di atas, Anda dapat membangun aplikasi Web Development yang cepat, aman, dan mudah dipelihara—fitur-fitur ini menjadi standar baru bagi para developer Programming, Software Engineering, dan Web Development di 2026.
Panduan lengkap setup Next.js 15 dengan App Router, Server Actions, dan TypeScript. Termasuk instalasi, konfigurasi, contoh kode, best practice, dan tips deploy untuk Programming, Software Engineering, dan Web Development.
Programming,Software Engineering,Web Development,Next.js 15,App Router,Server Actions,TypeScript
#Programming #SoftwareEngineering #WebDev #Tech #Coding
0 Komentar