Aplikasi web progresif (PWA) adalah situs web yang dibangun dengan kemampuan yang memungkinkannya berperilaku lebih seperti aplikasi yang diinstal: dapat ditambahkan ke layar beranda perangkat, diluncurkan tanpa antarmuka browser, berfungsi secara offline atau pada koneksi yang tidak stabil, dan di lingkungan yang didukung dapat menerima notifikasi push. Ini adalah serangkaian kemampuan yang diterapkan pada situs web biasa, bukan teknologi yang terpisah.
Landasan teknisnya adalah service worker, yaitu skrip yang berjalan terpisah dari halaman yang dapat mencegat permintaan jaringan dan menyajikan respons yang di-cache, dan manifes aplikasi web yang menjelaskan bagaimana aplikasi seharusnya muncul saat diinstal. Keduanya membutuhkan situs untuk disajikan melalui koneksi yang aman. Di luar itu, kemampuannya bersifat progresif: browser yang mendukungnya memberikan pengalaman yang lebih baik, sementara browser lain menerima situs web biasa.
Penanganan koneksi offline dan tidak stabil adalah kemampuan dengan nilai praktis yang paling jelas. Service worker dapat menyimpan shell aplikasi dan konten yang sebelumnya dilihat dalam cache, sehingga pengunjung dengan koneksi seluler yang terputus-putus dapat melihat konten alih-alih halaman kesalahan, dan kunjungan berikutnya akan memuat dari cache alih-alih dari jaringan. Bagi pengguna dengan konektivitas yang buruk, ini merupakan peningkatan yang signifikan, bukan sekadar penyempurnaan.
Instalasi menghilangkan hambatan distribusi melalui toko aplikasi, yang merupakan argumen komersial utama. Tidak ada proses pengajuan, tidak ada penundaan peninjauan, tidak ada komisi toko, dan pembaruan diterapkan segera tanpa menunggu pengguna menginstalnya. Bagi bisnis yang aplikasinya tidak memerlukan integrasi platform yang mendalam, ini menghindari biaya berkelanjutan yang signifikan dan ketergantungan pada penjaga gerbang platform.
Perbedaan kemampuan platform tetap menjadi batasan utama, dan perbedaan tersebut telah menyempit secara tidak merata. Dukungan untuk instalasi, notifikasi, dan kemampuan latar belakang bervariasi antar platform, dengan iOS secara historis lebih ketat daripada Android, dan batasan penyimpanan serta kebijakan penghapusan berbeda. Menilai apa yang sebenarnya tersedia di platform yang digunakan audiens, daripada mengasumsikan kesamaan, diperlukan sebelum berkomitmen pada pendekatan yang bergantung pada kemampuan tertentu.
Penemuan aplikasi merupakan pertimbangan yang saling menguntungkan di kedua arah. Distribusi web berarti aplikasi dapat diakses melalui tautan dan ditemukan dalam pencarian, yang merupakan keuntungan besar dibandingkan distribusi di toko aplikasi di mana penemuan bergantung pada peringkat di dalam toko. Ini juga berarti aplikasi tidak muncul di toko aplikasi tempat banyak pengguna mencari aplikasi, dan tidak ada fitur yang setara dengan ajakan instal yang disediakan oleh daftar di toko aplikasi.
Notifikasi push memerlukan penilaian yang lebih skeptis daripada yang biasanya diterima. Kemampuan ini benar-benar berharga untuk pesan yang sensitif terhadap waktu dan relevan secara individual, dan sering disalahgunakan untuk konten promosi yang tidak diantisipasi oleh penerima. Karena izin diminta sekali dan penolakan pada dasarnya bersifat permanen, meminta persetujuan sebelum menetapkan nilai apa pun akan menghasilkan penolakan yang tidak dapat diperbaiki kemudian ketika ada sesuatu yang layak dikirim.
Caching service worker menghadirkan risiko tersendiri yang memerlukan penanganan yang cermat. Strategi caching yang menyajikan konten usang tanpa batas waktu akan menyebabkan pengguna melihat informasi yang ketinggalan zaman tanpa cara yang jelas untuk memperbarui, dan service worker yang diimplementasikan dengan buruk dapat sulit dihapus dari perangkat yang telah menginstalnya. Pengelolaan versi, strategi pembaruan, dan mekanisme untuk memaksa pembaruan sangat diperlukan, bukan opsional.
Karena pendekatan ini mencakup arsitektur front-end, strategi caching, dan keputusan distribusi, ini merupakan keputusan produk, bukan keputusan teknis. Dalam praktiknya, rangkaian kemampuan dipilih dalam pengembangan produk Jika dibandingkan dengan kebutuhan audiens yang sebenarnya, implikasi caching dan pengiriman berada pada titik yang berbeda. kinerja web pekerjaan, dan pertimbangan antara distribusi web dan toko biasanya ditimbang bersamaan dengan strategi saluran yang lebih luas dalam penemuan produk. perencanaan strategis dan konsultasi.