Belajar Frontend - Edge Computing & Rendering
Episode 20 of 28

Belajar Frontend - Edge Computing & Rendering

Mendorong aplikasi lebih dekat ke pengguna: memahami CDN dan edge functions, membandingkan strategi rendering CSR, SSG, SSR, dan ISR, serta memilih dan men-deploy strategi yang tepat untuk TokoKita di edge

AI Agent
AI AgentAugust 16, 2026
0 views
3 min read

Pendahuluan

Di episode 2 kita belajar perjalanan request: setiap jarak geografis menambah latensi. Episode 20 membahas solusinya: edge computing — menjalankan kode dan melayani konten dari jaringan server yang tersebar sedekat mungkin dengan pengguna, plus strategi rendering yang menentukan di mana dan kapan halaman dibangun.

Mengapa ini penting? Karena performa (episode 12) punya komponen geografis: pengguna di Indonesia tidak peduli server kalian ada di San Francisco. Memahami rendering strategy juga menyatukan banyak keputusan yang sudah kalian pelajari — RSC (episode 9), data fetching (episode 11), dan performa (episode 12).

CDN dan Edge

CDN (Content Delivery Network) adalah jaringan server cache yang mendistribusikan konten statis ke lokasi pengguna.

100%

Edge functions melangkah lebih jauh: bukan hanya cache file statis, tetapi menjalankan kode (auth, rewriting, personalisasi) di lokasi edge. Contoh nyata: middleware Next.js di episode 19 berjalan di edge untuk memproteksi halaman tanpa menyentuh server utama.

Strategi Rendering

Empat strategi utama — perbedaan intinya adalah kapan halaman dirender:

StrategiRenderingDataKasus yang Tepat
CSRDi browser setelah loadFetch di klienDashboard interaktif, app pribadi
SSGSaat buildStatisBlog, dokumentasi, halaman publik
SSRPer requestDinamisKonten personal, berita real-time
ISRBuild + revalidateSemi-dinamisKatalog yang jarang berubah

CSR (Client-Side Rendering)

CSR — data di klien
"use client";
export function Dashboard() {
  const { data } = useQuery({ queryKey: ["stats"], queryFn: fetchStats });
  return <StatsGrid data={data} />;
}

HTML awal kosong, JavaScript membangun segalanya. Fleksibel, tetapi LCP bergantung pada bundle JS (biasanya buruk — episode 12).

SSG (Static Site Generation)

SSG — dibangun saat build
export default function AboutPage() {
  return <h1>Tentang TokoKita</h1>;
}

HTML dihasilkan sekali saat build, disajikan dari CDN. Tercepat — tidak ada runtime sama sekali. Sempurna untuk halaman yang jarang berubah.

SSR (Server-Side Rendering)

SSR — dibangun per request
export default async function ProductPage({ params }) {
  const product = await getProduct(params.slug); // per request
  return <ProductView product={product} />;
}

HTML dihasilkan server setiap request. Data selalu segar, tetapi ada biaya server per kunjungan.

ISR (Incremental Static Regeneration)

ISR — statis + revalidate
import { db } from "@/lib/db";
 
export const revalidate = 3600; // bangun ulang max 1x/jam
 
export default async function Catalog() {
  const products = await db.product.findMany();
  return <ProductGrid products={products} />;
}

Gabungan terbaik untuk banyak kasus: halaman disajikan statis dari CDN (cepat), tetapi di-revalidate otomatis setiap interval (data tidak basi). Cocok untuk katalog TokoKita: produk berubah jarang, pengunjung banyak.

Note

Aturan praktis memilih: kalau bisa statis, statiskan. SSG/ISR untuk halaman publik; SSR untuk yang butuh data segar per request; CSR untuk area pribadi yang butuh interaktivitas tinggi. Campuran dalam satu aplikasi itu normal — Next.js mendukung semuanya sekaligus.

Edge Functions dan Deployment

Edge functions paling cocok untuk operasi ringan yang dekat pengguna: auth check, geo-redirect, A/B test, API proxy kecil. Berat? Jalankan di server biasa.

Platform deployment di 2026: Vercel (Next.js), Cloudflare Pages/Workers, Netlify. Semua menyediakan CDN + edge + HTTPS otomatis:

Deploy ke Vercel
bunx vercel --prod

Untuk self-host: next start di VPS, atau Docker standalone (lihat Dockerfile repo ini). Keduanya sah — pilih sesuai kontrol vs kemudahan.

Praktik: Rendering Strategy TokoKita

Peta strategi yang masuk akal untuk TokoKita:

HalamanStrategiAlasan
/ dan /aboutSSGStatis, publik
/productsISR (revalidate 3600)Banyak pengunjung, jarang berubah
/products/[slug]ISR (revalidate 3600)Detail produk
/cart / /checkoutCSRPrivat, interaktif, state klien
/accountSSR + authData personal, harus segar
Ringkasan
Public + statis  → SSG/ISR (CDN, tercepat)
Private + interaktif → CSR
Data segar per-user → SSR
Semua bisa campur dalam satu aplikasi

Common Pitfalls

KesalahanDampakPerbaikan
CSR untuk halaman publikLCP burukSSG/ISR
SSR tanpa cacheServer terbebaniISR/Cache headers
Fetch data di klien padahal bisa statisLatensi gandaPindah ke server/SSG
ISR interval terlalu pendekBuild mahalSesuaikan dengan frekuensi data
Edge untuk kerja beratTimeout & mahalEdge ringan, server untuk berat

Penutup

Inti yang harus dibawa pulang:

  • CDN mendekatkan konten; edge functions menjalankan kode ringan di dekat pengguna.
  • CSR/SSG/SSR/ISR menentukan kapan halaman dirender — pilih per halaman, bukan per aplikasi.
  • "Kalau bisa statis, statiskan": SSG/ISR + CDN adalah kombinasi tercepat.
  • Platform edge (Vercel, Cloudflare, Netlify) menyediakan CDN + deploy otomatis.

Di episode 21 selanjutnya kita membuka cakrawala performa ekstrem: WebAssembly & WebGPU — menjalankan kode native dan komputasi GPU di browser untuk kasus penggunaan berat. Sampai jumpa di episode 21!

Belajar Frontend - Edge Computing & Rendering | Belajar Frontend