Lima latihan praktikal untuk menguasai PWA — dari audit mobile hingga install di phone. Klik setiap latihan untuk melihat langkah terperinci.
Objektif: Audit mana-mana website (projek sendiri atau website awam) untuk menilai mobile-friendliness dan PWA readiness menggunakan Chrome DevTools dan Lighthouse.
F12 atau right-click → InspectCtrl+Shift+M (Windows/Linux) atau Cmd+Shift+M (Mac)Lighthouse → pilih "Mobile" → check "Best Practices" dan "PWA"Lighthouse PWA Score: Skor 0-100. Untuk PWA yang baik, target minimum adalah 80+. Tapi jangan risau kalau rendah — tu sebab kita belum tambah PWA manifest dan service worker. Itulah tujuan latihan ini!
Screenshot hasil audit Lighthouse
Ambil screenshot yang menunjukkan skor PWA dan checklist item yang lulus/gagal. Juga screenshot mobile view (device toolbar) yang menunjukkan website dipaparkan dalam skrin phone.
Objektif: Tambah PWA manifest.json dan service worker ke projek web app sedia ada menggunakan AI prompt. Hasilkan kedua-dua fail menggunakan AI dan integrasikan ke dalam projek.
manifest.json dalam folder projek<head>:
sw.js dalam folder projek</body>):
Debug service worker: Di DevTools → Application → Service Workers, ada link "skipWaiting" dan "Unregister". Guna ni untuk debug. Secara default, service worker akan tunggu sehingga semua tab lama ditutup sebelum activate version baru. Guna "Update on reload" untuk memudahkan debugging.
Screenshot DevTools menunjukkan manifest dan service worker aktif
Ambil screenshot yang menunjukkan tab Application → Manifest (paparkan info app) dan tab Application → Service Workers (tunjukkan status "Activated").
Objektif: Test keupayaan offline PWA. Pastikan service worker berfungsi dengan betul — app masih boleh diakses walaupun tiada sambungan internet. Uji di desktop dan di phone.
Cache Versioning: Bila awak ubah fail HTML/CSS/JS, pastikan update version cache dalam sw.js. Contoh: tukar dari 'projek-v1' ke 'projek-v2'. Ini memastikan service worker cache version baru dan tak guna cache lama yang sudah outdated.
Screenshot PWA berfungsi dalam mod offline
Ambil screenshot yang menunjukkan: (1) DevTools dengan Network tab — checkbox "Offline" ditandakan, (2) Halaman PWA masih dipaparkan dengan sempurna. Screenshot kedua: PWA di phone dalam flight mode masih berfungsi.
Objektif: Tambah push notification menggunakan Notification API. Pelajar akan belajar cara minta permission, hantar notifikasi, dan handle notification click events.
Permission Request Timing: Jangan minta permission notification serta-merta bila halaman dimuat. Tunggu sehingga user melakukan interaksi (clicks button). Browser semakin ketat tentang "aggressive permission requests" dan mungkin auto-block.
Push dari Server vs Local Notification: Notification API asas hanya berfungsi semasa PWA dibuka. Untuk push notification sebenar (notifikasi sampai walaupun app tutup), kita perlukan "Push API" + VAPID keys + backend server. Itu beyond scope modul ini. Tapi untuk asas dan demo, Notification API sudah cukup impressive.
Screenshot notification yang berjaya dihantar
Ambil screenshot yang menunjukkan: (1) Notification muncul di skrin (corner kanan bawah/atas), (2) Button "Hantar Notifikasi" di halaman PWA, (3) Status mesej "Notification dihantar!" dipaparkan.
Objektif: Deploy PWA ke Cloudflare Pages (atau platform HTTPS lain), install di phone, dan test semua feature termasuk offline. Ini adalah latihan paling memuaskan — bila pelajar nampak app sendiri di home screen phone!
https://dash.cloudflare.com/https://pwa-saya.pages.devhttps://pwa-saya.pages.dev⋮ menu → Add to Home ScreenShare URL PWA: Lepas deploy, kongsi URL dengan semua orang. Mereka boleh buka dan install PWA awak di phone mereka. Bayangkan — app yang awak bina boleh diguna oleh kawan-kawan, keluarga, atau bahkan client! Inilah magik PWA + AI.
Jika "Add to Home Screen" tak muncul: (1) Pastikan manifest.json sah — guna validator, (2) Pastikan ada icon saiz 192x192, (3) Pastikan service worker register dengan jayanya, (4) Pastikan HTTPS, (5) Chrome mungkin tak tunjuk prompt jika PWA sudah di-install (check home screen), (6) Tunggu beberapa saat — kadang-kadang Chrome lambat detect PWA.
Screenshot PWA di home screen phone + dalam keadaan offline
Ambil MINIMUM 3 screenshot: (1) Home screen phone yang menunjukkan icon PWA, (2) PWA dibuka dalam standalone mode (tiada address bar), (3) PWA berfungsi dalam flight mode (tiada internet) — bukti offline capability.
Tahniah! Selepas menyelesaikan kelima-lima latihan ini, anda akan:
Langkah seterusnya: Bina PWA sebenar untuk portfolio, projek akhir, atau bisnes — dengan kuasa AI, tiada had kepada apa yang awak boleh bina!