Bina aplikasi mobile yang boleh di-install di phone — tanpa belajar React Native, Flutter, atau Swift. Cuma HTML, CSS, JavaScript — dan AI.
Bayangkan: Awak tunjuk app yang BOLEH di-install di phone — ada icon di home screen, buka macam app native, berfungsi offline — dibina tanpa belajar React Native atau Flutter. Cuma guna HTML, CSS, JS — dan AI.
Inilah Progressive Web App (PWA). Satu teknologi yang mengubah web app biasa menjadi pengalaman macam app native. Dan dengan kuasa AI, proses untuk mencipta PWA menjadi lebih mudah dan cepat dari sebelumnya.
Cabaran dulu:
Sekarang dengan PWA + AI:
Falsafah modul ini: Dengan AI, fokus beralih dari "cara tulis kod" ke "apa yang boleh dibina". Anda tidak perlu menghafal syntax manifest.json atau service worker API. AI handle itu. Tugas awak adalah想像 (imagine) apa yang PWA boleh buat, dan gunakan AI untuk merealisasikannya.
PWA = Progressive Web App. Ianya web app biasa yang ditingkatkan dengan superpower — boleh di-install di phone, berfungsi offline, dan ada feature macam app native.
Bayangkan perbezaan ni:
Buka di pelayar web (Chrome/Safari). Kena taip URL. Kena ada internet. Tiada icon di home screen. Ada address bar. Macam melawat kedai — kena pergi, kena buka pintu.
Boleh di-install di home screen. Buka direct macam app native (tiada address bar). Boleh guna offline. Boleh hantar push notification. Macam kedai yang dah ada di depan rumah awak — buka je pintu, terus masuk.
Ini yang dah awak buat sebelum ni. PWA tetap guna teknologi web biasa. Cuma ditingkatkan dengan dua komponen tambahan.
Fail JSON yang "memperkenalkan" app awak kepada phone. Ia mengandungi nama app, ikon, warna tema, dan cara app patut dipaparkan (fullscreen/standalone).
Script JavaScript yang berjalan di latar belakang. Ia "menyadang" (intercept) request internet, menyimpan response dalam cache, dan menghidangkan semula bila offline. Macam pembantu peribadi yang ingat semua benda.
Sebelum jadi PWA, kena ada web app yang responsive dulu. Guna mana-mana projek sedia ada atau bina baru guna AI.
Guna AI prompt untuk buat web app mobile-friendly:
Ciri web app yang mobile-friendly:
Nota: Kalau guna projek sedia ada dari fasa sebelumnya, pastikan ia sudah responsive. Test di Chrome DevTools dengan mobile view (toggle device toolbar — Ctrl+Shift+M).
Manifest.json adalah fail yang memberitahu browser: "Hei, web app ni boleh jadi PWA!"
Apa yang ada dalam manifest.json:
standalone, fullscreen, minimal-uiPrompt AI untuk generate manifest.json:
Selepas dapat output, simpan dan link:
Tip: Ikon PWA adalah penting. Minta AI buat SVG icon atau guna tool macam favicon.io hasilkan ikon. Jangan guna gambar JPEG — PNG dengan transparent background adalah terbaik.
Service worker adalah "otak" PWA. Ia berjalan di latar belakang, menguruskan caching dan membolehkan app berfungsi offline.
Apa itu caching? Bayangkan awak ada pembantu peribadi. Setiap kali awak baca buku, pembantu simpan salinan. Bila awak nak baca semula, pembantu bagi terus tanpa perlu pergi ke kedai buku. Itulah yang service worker buat — ia menyimpan salinan fail web app dan menghidangkannya semula bila diperlukan.
Prompt AI untuk generate service worker:
Register service worker dalam index.html:
Peringatan Penting: Service worker HANYA berfungsi di HTTPS (atau localhost). Kalau buka guna HTTP biasa, service worker tak akan register. Ini sebab kenapa deployment ke hosting dengan HTTPS sangat penting. Cloudflare Pages, Netlify, Vercel — semuanya bagi HTTPS percuma.
Sekarang PWA dah siap. Masa untuk test sama ada ia boleh di-install.
Kenapa perlu deploy dulu? Kalau test di localhost, phone tak boleh akses. Nak test betul-betul di phone, PWA kena di-host di server dengan HTTPS. Guna Cloudflare Pages — deploy percuma, HTTPS auto.
Push notification membolehkan PWA hantar notifikasi ke phone walaupun app tak dibuka. Untuk sesi ini, kita buat local notification (notifikasi dalam app) yang lebih mudah.
Prompt AI untuk notification basic:
Contoh output AI:
Limitasi: Notification API asas hanya berfungsi semasa app dibuka. Untuk push notification dari server (notifikasi sampai walaupun app tutup), ia memerlukan setup yang lebih kompleks — VAPID keys, push service, dan backend. Itu topik advanced. Untuk sesi ini, fokus pada Notification API dulu.
Salah satu kuasa PWA — ia boleh akses hardware phone macam kamera dan GPS, sama seperti app native.
Prompt AI:
Prompt AI:
Nota Keselamatan: Browser akan minta permission setiap kali web app nak akses kamera atau lokasi. Ini adalah ciri keselamatan — user kena bagi izin secara eksplisit. PWA yang di-install akan diingati permissionsnya.
Sekarang PWA awak dah siap. Masa untuk deploy ke hosting dan install di phone!
Share dengan kawan-kawan! Kongsi URL PWA awak dengan rakan sekelas. Mereka juga boleh install PWA awak di phone mereka. Bayangkan — app yang awak bina sendiri boleh diguna oleh orang lain!
Apa yang awak dah belajar dalam modul ini:
Langkah seterusnya: Cuba bina PWA sendiri untuk portfolio, bisnes, atau projek akhir. Dengan kuasa AI + PWA, awak boleh hasilkan aplikasi mobile yang professional tanpa perlu belajar React Native atau Flutter. Bayangkan potensinya!