Roger Wenas

1 Mei 2026 178 kali dibaca

Teknologi Framework Web

Akhirnya, Svelte

Setelah bertahun-tahun mengamati dari jauh, akhirnya saya pilih Svelte untuk membangun blog ini. Bukan karena trend, bukan karena hype. Karena akhirnya kompromi-nya masuk akal.

Saya menghabiskan satu dekade di dunia JavaScript mengamati framework datang dan pergi. Backbone, Knockout, Angular 1, Ember, Mithril, Aurelia, Vue, React, Preact, Solid, Lit, Qwik. Setiap framework punya momen-nya. Setiap framework akhirnya menemukan ceruknya — atau hilang.

Selama itu, Svelte ada di pinggir penglihatan saya. Rich Harris membuatnya akhir 2016 sebagai eksperimen di jurnalisme data di The Guardian, lalu New York Times. Filosofinya menarik: compile-time framework, bukan runtime. Bundle yang dihasilkan tidak menyertakan virtual DOM atau diff engine — Svelte menulis kode JavaScript imperatif yang minimal di tahap kompilasi.

Tapi selama bertahun-tahun, saya tidak pernah pakai serius. Ekosistem terlalu kecil. Tooling tidak matang. SvelteKit (framework full-stack di atas Svelte) baru rilis stable di akhir 2022.

Tahun 2026, semua sudah berbeda.


Saat saya memutuskan menulis ulang blog ini, daftar pendek-nya React (Next.js), Vue (Nuxt), atau Svelte (SvelteKit). Pilihan didasarkan pertimbangan bukan emosi:

Bundle size. Halaman publik ini tidak butuh banyak interaktivitas — mostly konten statis dengan toggle dark mode dan share buttons. React app paling sederhana mengirim ~40 KB JS hanya untuk runtime-nya. SvelteKit equivalent ~10 KB. Bedanya nyata di koneksi 3G yang masih banyak di Indonesia.

Sintaks. Svelte 5 dengan runes ($state, $derived, $effect) terasa paling dekat dengan vanilla JavaScript. Tidak ada useState magic, tidak ada useEffect yang menjebak, tidak ada setup() boilerplate. Anda menulis variabel, dan reactivity bekerja.

Server-side rendering. SvelteKit punya pendekatan SSR yang elegan — endpoint +server.ts untuk API, +page.server.ts untuk page data, +page.svelte untuk render. Pemisahan yang jelas tanpa magic.

Cloudflare integration. Adapter @sveltejs/adapter-cloudflare matang. D1 dan R2 binding lewat platform.env. Worker execution model cocok dengan SvelteKit load function.


Yang saya temui setelah dipakai beberapa bulan:

Yang menyenangkan. Kompilasi cepat. Hot reload responsif. Type checking lewat svelte-check + tsc memberi pesan error yang jelas. Component scoping CSS otomatis tanpa CSS-in-JS yang berat.

Yang membutuhkan adaptasi. Runes mode (Svelte 5) berbeda dari Svelte 3/4. Sebagian besar dokumentasi dan tutorial di internet masih versi lama. Saya sering harus baca source SvelteKit untuk memahami pattern terbaru.

Yang masih kurang. Ekosistem komponen UI tidak seramai React. Tidak ada Material atau shadcn/ui equivalent yang dominan. Kalau Anda butuh date picker yang complex, harus build sendiri atau pakai library kecil dari komunitas.


Dengan kompromi semua dipikirkan, hasilnya: blog ini.

SvelteKit + Tailwind CSS v4 + Cloudflare Workers + D1 + R2 + Cloudflare Zero Trust untuk dashboard.

Bundle size halaman detail artikel sekitar 28 KB total (gzipped). Time to first byte di Asia rata-rata 50 ms. Lighthouse skor: 100/100/100/100. Kompilasi project lokal: sembilan detik.

Tidak ada framework yang sempurna. Tetapi Svelte di 2026 memenuhi yang saya butuhkan tanpa banyak kompromi.

Setelah satu dekade menunggu, akhirnya saya pakai. Dan tidak menyesali pilihan itu.

Tulisan terkait

Mungkin terkait

Berdasarkan kemiripan isi tulisan.