PWA: Website yang Bikin Visitor Betah 3× Lebih Lama
Kemarin malem gw iseng buka Twitter di HP. Bukan app-nya, tapi versi web-nya. Ternyata malah lebih enteng, notif-nya nyantol, dan pas offline tetep bisa baca tweet lama. Cuma butuh 2 klik: “Tambahkan ke Layar Utama” — jreng, jadi ikon kayak app beneran. Itu lho, namanya Progressive Web App (PWA).
Kalau kamu pernah nemuin website yang bisa di-save ke HP, push notif, tapi nggak perlu download 50 MB dari Play Store, berarti kamu sudah nyicipin PWA. Di artikel ini kita akan bahas apa itu PWA, kenapa dia bisa bikin website-mu terasa seperti app native, plus step-by-step bikin PWA sendiri cuma dengan 3 file kecil.
Apa Itu PWA (Progressive Web App)?
PWA adalah website biasa yang “dinaikkan level”-nya pakai tiga senjata: HTTPS, Web App Manifest, dan Service Worker. Hasilnya: loading di bawah 1 detik, bisa jalan offline, serta ikon di layar utama iOS/Android tanpa lewat app store. Singkatnya, kamu dapat semua keuntungan native app tanpa bikin APK/IPA.
Contoh real: Forbes pasang PWA → bounce rate turun 43 %. Tokopedia versi PWA → ukuran cuma 150 kB vs app native 25 MB. Itulah kenapa CTO start-up mana pun kini nanya: “Sudah PWA belum?”
Bedanya PWA vs Website Biasa vs Native App
Website biasa butuh internet terus, nggak bisa push notif, dan nggak ada ikon di layar utama. Native app justru sebaliknya: bisa offline & notif, tapi user harus download dulu, review, update manual, plus biaya dev ganda (Android + iOS). PWA duduk di tengah: satu kode, semua platform ke-cover, update otomatis.
Service Worker: Mesin Dibalik Keajaiban Offline
Service worker adalah file JavaScript yang jalan di background. Ia men-cache HTML, CSS, gambar, bahkan API response. Saat user offline, service worker serve file dari cache. Cache strategy paling populer: stale-while-revalidate — tampilkan versi lama sambil ambil data baru di belakang layar.
Manfaat PWA yang Langsung Dirasakan User
- Speed: First load < 200 ms berkat cache.
- Reliable: Buka meski pesawat mode (offline).
- Engaging: Push notif, add to home screen, splash screen.
- Ringan: Ukuran < 1 MB vs rata-rata app 20 MB.
- SEO-friendly: Masih satu URL, Google index seperti web biasa.
Google bahkan memberi performance bonus: PWA yang memenuhi Core Web Vitals otomatis naik peringkat. Jadi selain UX naik, organic traffic ikut melambung.
Cara Upgrade Website Jadi PWA (3 Langkah)
Kamu cuma butuh:
- HTTPS (wajib).
- File
manifest.json(nama, ikon, warna). - File
service-worker.js(cache & fetch handler).
Contoh manifest minimal:
{"name":"TokoKita","short_name":"TokoKita","start_url":"/","display":"standalone","background_color":"#fff","theme_color":"#f60","icons":[{"src":"/icon-192.png","sizes":"192x192","type":"image/png"}]}
Daftarkan di HTML:
<link rel="manifest" href="/manifest.json">
Register service worker:
if('serviceWorker' in navigator){navigator.serviceWorker.register('/sw.js');}
Isi sw.js (cache first):
const CACHE='v1';self.addEventListener('install',e=>e.waitUntil(caches.open(CACHE).then(c=>c.addAll(['/','/style.css','/app.js']))));self.addEventListener('fetch',e=>e.respondWith(caches.match(e.request).then(r=>r||fetch(e.request))));
Selesai. Refresh, buka DevTools → Application → Lighthouse, centang PWA. Skor 100? Congrats!
Kesimpulan
PWA adalah jurus sakti untuk website agar cepat, offline-ready, dan “app-like” tanpa repot upload ke app store. Cukup tambahkan HTTPS, manifest, dan service worker, kamu langsung ke-cover di Android & iOS. Hasilnya: loading kilat, bounce rate turun, engagement naik, plus biaya dev tetap satu kali. Mulai hari ini, jangan buat user download app besar hanya untuk baca konten. Upgrade ke PWA, dan kasih mereka pengalaman kilat yang bikin balik lagi & lagi.
FAQ
Chrome, Firefox, Edge, Safari iOS 16+ sudah support; tapi fitur install & push notif masih lebih lengkap di Chromium.
Tidak. Vanilla HTML-CSS-JS sudah cukup; framework seperti Next, Nuxt, atau Angular cuma bantu generate manifest & sw otomatis.
Bisa, pakai Trusted Web Activity (TWA), tapi tetap opsional. PWA langsung bisa di-install user lewat browser tanpa store.