Next.js 14 dirilis pada Mei 2026 dengan fitur App Router 2.0, Turbopack default, dan dukungan penuh Edge Runtime. Tutorial ini memberi langkah demi langkah instalasi, konfigurasi, contoh kode, serta best practice untuk membangun aplikasi React modern yang cepat dan scalable.
1. Prerequisite
Pastikan Anda memiliki Node.js LTS (v22.x) atau lebih baru, npm atau pnpm, serta Git. Untuk pengujian Edge Runtime, gunakan browser modern atau curl yang mendukung HTTP/3.
2. Instalasi Next.js 14
2.1 Buat proyek baru dengan create-next-app
npx create-next-app@latest my-next14-app \
--example with-tailwindcss \
--ts
cd my-next14-app
Template with-tailwindcss sudah terintegrasi dengan Tailwind 3.4, cocok untuk UI modern.
2.2 Upgrade bila sudah ada proyek lama
# Pastikan package manager terbaru
npm install -g npm@latest
# Upgrade core packages
npm install next@^14.0.0 react@^19.0.0 react-dom@^19.0.0
# Upgrade Turbopack (opsional, default di Next 14)
npm install @next/turbopack@latest --save-dev
Jalankan npm run lint untuk memastikan tidak ada konflik versi.
3. Konfigurasi Dasar
3.1 next.config.mjs
import { createVanillaExtractPlugin } from '@vanilla-extract/next-plugin';
/** @type {import('next').NextConfig} */
const nextConfig = {
reactStrictMode: true,
experimental: {
appDir: true, // aktifkan App Router v2
serverActions: true, // Server Actions API default
typedRoutes: true,
},
images: {
remotePatterns: [{ hostname: 'images.unsplash.com' }],
},
// Edge Runtime default untuk semua route kecuali yang di‑override
output: 'standalone',
};
export default createVanillaExtractPlugin(nextConfig);
File dikonversi menjadi .mjs agar dapat menggunakan import ES‑module.
3.2 Tambahkan TypeScript strict mode
npx tsc --init --strict
Setel noImplicitAny, strictNullChecks, dan exactOptionalPropertyTypes untuk kualitas kode lebih tinggi.
4. Struktur Folder dengan App Router 2.0
/app
/layout.tsx # Root layout
/page.tsx # Home page
/dashboard
/layout.tsx # Dashboard layout
/page.tsx # Dashboard home
/settings
/page.tsx # Nested route
/api
/hello/route.ts # Edge API route
/lib
/utils.ts
/components
/Button.tsx
/Header.tsx
Folder app menggantikan pages. Setiap folder otomatis menjadi route.
5. Contoh Kode – Page dan Server Action
5.1 app/page.tsx
import Image from 'next/image';
import { createClient } from '@/lib/supabase';
export default async function HomePage() {
const supabase = createClient();
const { data: posts } = await supabase.from('posts').select('*').limit(5);
return (
<main className="p-8">
<h1 className="text-4xl font-bold mb-6">Selamat datang di Next.js 14</h1>
<ul className="space-y-4">
{posts?.map((post) => (
<li key={post.id}>
<h2 className="text-2xl">{post.title}</h2>
<p>{post.excerpt}</p>
</li>
))}
</ul>
</main>
);
}
Fungsi async dijalankan di server, memanfaatkan Edge Runtime untuk latency ultra‑rendah.
5.2 Server Action – app/dashboard/page.tsx
"use server";
import { revalidatePath } from 'next/cache';
import { createClient } from '@/lib/supabase';
export async function addTask(formData: FormData) {
const supabase = createClient();
const title = formData.get('title') as string;
await supabase.from('tasks').insert({ title });
// Revalidate cache pada route dashboard
revalidatePath('/dashboard');
}
export default function Dashboard() {
return (
<section className="p-6">
<h2 className="text-3xl mb-4">Dashboard</h2>
<form action={addTask}>
<input name="title" required className="border p-2 mr-2" />
<button type="submit" className="bg-blue-600 text-white p-2">Tambah</button>
</form>
</section>
);
}
Server Action memungkinkan posting data tanpa API endpoint terpisah, memanfaatkan use server directive.
6. Deploy ke Vercel dengan Edge Runtime
- Push repository ke GitHub.
- Buka Vercel dashboard dan pilih New Project.
- Hubungkan repo, pilih Next.js preset, dan aktifkan Edge Functions pada Settings → Functions → Runtime.
- Tambahkan variable lingkungan (e.g.,
SUPABASE_URL,SUPABASE_KEY). - Deploy. Vercel otomatis menggunakan Turbopack untuk build dan meng‑cache statis, sementara route API berjalan di Edge.
7. Optimasi Performa
- Image Optimization: gunakan
next/imagedenganloader: 'custom'bila meng‑serve dari CDN khusus. - Turbopack: jalankan
npm run build -- --profileuntuk melihat bottleneck. Biasanya, lib besar dapat di‑split menjadichunksterpisah. - Incremental Static Regeneration (ISR): pada halaman yang tidak berubah tiap detik, tambahkan
revalidate = 60di file page. - Edge Caching: set header
Cache-Control: public, max-age=31536000, immutablepada asset static.
8. Best Practice
- Selalu gunakan TypeScript strict dan lint dengan
eslint-config-next. - Isolasi state management ke
redux-toolkitatauzustanddi client‑side; server‑side gunakanserver actionsatauReact Querydenganfetchyang ter‑cache. - Jangan menaruh secret di
next.config.mjs; gunakan Vercel/Netlify env vars. - Gunakan
app/router.tsxuntuk global error handling; contoh di Next.js error‑boundary example. - Uji Edge Functions secara lokal dengan
vercel dev --edge.
9. Debugging & Monitoring
- Jalankan
npm run devdenganNEXT_DEBUG=1untuk log detail. - Integrasikan Sentry untuk error tracking di both client dan Edge.
- Gunakan
next/trace(built‑in) untuk tracing request latency di Vercel Analytics.
10. Kesimpulan
Next.js 14 menggabungkan App Router 2.0, Turbopack, dan Edge Runtime menjadi satu platform yang memungkinkan developer membangun aplikasi React yang sangat cepat, scalable, dan mudah dipelihara. Dengan mengikuti tutorial ini, Anda dapat menyiapkan proyek dari awal, mengkonfigurasi environment modern, menulis kode yang bersih, dan menerapkan best practice yang disarankan komunitas pada tahun 2026.
Dengan mengikuti langkah‑langkah di atas, Anda tidak hanya berhasil meng‑setup Next.js 14 secara optimal, tetapi juga memanfaatkan Edge Runtime untuk latency ultra‑rendah, Turbopack untuk build yang cepat, dan Server Actions untuk API‑free data handling. Terapkan best practice, monitor performa, dan deploy ke Vercel agar aplikasi Anda siap bersaing di era web modern.
Panduan lengkap instalasi, konfigurasi, contoh kode, dan best practice Next.js 14 dengan App Router, Turbopack, dan Edge Runtime – tutorial step-by-step untuk Programming, Software Engineering, dan Web Development tahun 2026.
Programming,Software Engineering,Web Development,Next.js 14,App Router,Turbopack,Edge Runtime
#Programming #SoftwareEngineering #WebDev #Tech #Coding
0 Komentar