Progressive Web Apps
Progressive Web App (PWA) adalah aplikasi web yang dapat dipasang dan ditingkatkan dengan kemampuan seperti offline serta notifikasi. UI memakai HTML, CSS, dan JavaScript; browser engine tetap menjalankannya.
Menurut MDN tentang PWA, pendekatan ini menggabungkan distribusi web dengan sejumlah integrasi perangkat.
Komponen dan cara kerja
Web app manifest berisi metadata aplikasi, termasuk nama, ikon, URL awal, dan mode tampilan. Service Workers dapat menangani request, caching, serta event background secara terpisah dari UI.
Service worker bukan syarat universal instalasi. Panduan instalasi MDN memisahkan installability dari pengalaman offline.
PWA juga tidak harus berupa single-page app. Penjelasan arsitektur MDN memperbolehkan aplikasi dengan banyak halaman.
Instalasi
Untuk promosi instalasi berbasis manifest, Chromium memerlukan nama, ikon 192px dan 512px, start_url, serta display atau display_override. prefer_related_applications harus tidak ada atau bernilai false.
Produksi memakai HTTPS; localhost atau loopback tersedia untuk pengembangan. Persyaratan ini mengikuti dokumentasi instalasi.
Antarmuka pemasangan berbeda antarbrowser dan OS. Sebagian browser juga dapat memasang website biasa tanpa manifest; hal tersebut berbeda dari pemenuhan kriteria promosi PWA dalam dokumentasi MDN.
Aplikasi tetap perlu berfungsi sebagai website ketika instalasi tidak tersedia. MDN menjelaskan perbedaan jalur instalasi.
Offline dan caching
Offline memerlukan caching dan fallback eksplisit; lihat panduan offline MDN.
Cache first berisiko basi; network first mencoba jaringan dahulu. Pemilihan strategi bergantung pada kebutuhan aplikasi.
Rekomendasi desain: bedakan konten yang dapat dibaca offline dari tindakan yang memerlukan server. Tampilkan status tertunda dengan jelas, lalu uji recovery saat koneksi kembali.
Push dan background
Push memerlukan push service dan koneksi perangkat; lihat alur push MDN.
Worker dapat dihentikan browser; retry background dibatasi menurut batas background operation.
Dalam pengumuman iOS/iPadOS 16.4, WebKit memperkenalkan push untuk Home Screen web apps. Izin diminta setelah interaksi langsung pengguna, bukan secara diam-diam.
Ketentuan tersebut bersumber dari pengumuman WebKit Februari 2023; ini bukan matriks dukungan lengkap untuk setiap versi perangkat saat ini.
Kecocokan dan batas
Satu codebase dan distribusi melalui URL dapat mengurangi duplikasi implementasi. Namun, sumber yang ditinjau tidak membuktikan PWA selalu lebih murah daripada native setelah pengujian dan pemeliharaan dihitung.
Kemampuan browser berbeda; MDN menganjurkan feature detection dan fallback.
Rekomendasi evaluasi: uji instalasi, peluncuran offline, cache kosong, konten basi, penolakan izin, serta recovery jaringan pada perangkat target. Pilih PWA berdasarkan kebutuhan yang terbukti terpenuhi, bukan label lintas platform.