Progresywna aplikacja internetowa (PWA) to strona internetowa zbudowana z funkcjami, które pozwalają jej zachowywać się bardziej jak zainstalowana aplikacja: można ją dodać do ekranu głównego urządzenia, uruchomić bez przeglądarki Chrome, działać w trybie offline lub przy słabym połączeniu, a w obsługiwanych środowiskach odbierać powiadomienia push. Jest to zestaw funkcji zastosowanych do zwykłej strony internetowej, a nie odrębna technologia.
Podstawą techniczną jest mechanizm Service Worker, czyli skrypt działający niezależnie od strony, który może przechwytywać żądania sieciowe i obsługiwać buforowane odpowiedzi, oraz manifest aplikacji internetowej opisujący wygląd aplikacji po zainstalowaniu. Oba wymagają, aby strona była obsługiwana przez bezpieczne połączenie. Poza tym funkcje te są progresywne: przeglądarka, która je obsługuje, zapewnia ulepszone wrażenia, podczas gdy inne otrzymują standardową stronę internetową.
Obsługa połączenia offline i połączenia zawodnego to funkcja o największej wartości praktycznej. Mechanizm Service Worker może buforować powłokę aplikacji i wcześniej przeglądane treści, dzięki czemu użytkownik z przerywanym połączeniem mobilnym widzi treść zamiast strony błędu, a po powrocie strona ładuje się z pamięci podręcznej, a nie z sieci. Dla użytkowników ze słabym połączeniem jest to znacząca poprawa, a nie udoskonalenie.
Instalacja eliminuje tarcia związane z dystrybucją w sklepach z aplikacjami, co stanowi główny argument komercyjny. Nie ma procesu składania wniosków, opóźnień w recenzji, prowizji pobieranych przez sklep, a aktualizacje są wdrażane natychmiast, bez czekania na instalację przez użytkowników. Dla firm, których aplikacje nie wymagają głębokiej integracji z platformą, pozwala to uniknąć znacznych kosztów bieżących i uzależnienia od administratorów platform.
Różnice w możliwościach platform pozostają głównym ograniczeniem, a ich liczba zmniejsza się nierównomiernie. Wsparcie dla instalacji, powiadomień i funkcji w tle różni się w zależności od platformy, przy czym iOS historycznie jest bardziej restrykcyjny niż Android, a limity pamięci masowej i zasady usuwania danych różnią się. Przed podjęciem decyzji o podejściu opartym na konkretnej możliwości należy ocenić, co jest faktycznie dostępne na platformach, z których korzysta grupa docelowa, zamiast zakładać równość.
Odkrywanie to prawdziwy kompromis w obu kierunkach. Dystrybucja internetowa oznacza, że aplikacja jest dostępna za pośrednictwem linku i można ją znaleźć w wyszukiwarce, co stanowi znaczną przewagę nad dystrybucją w sklepach stacjonarnych, gdzie odnajdywanie zależy od pozycji w rankingu. Oznacza to również, że aplikacja nie pojawia się w sklepie, gdzie wielu użytkowników szuka aplikacji, i nie ma odpowiednika monitu instalacyjnego, który oferuje sklep.
Powiadomienia push zasługują na bardziej sceptyczną ocenę niż ta, z którą zazwyczaj się spotykają. Funkcja ta jest niezwykle cenna w przypadku wiadomości o ograniczonym czasie i istotnych dla konkretnej osoby, a jednocześnie jest powszechnie nadużywana w przypadku treści promocyjnych, których odbiorcy się nie spodziewali. Ponieważ zgoda jest prośba jednorazowa, a odmowa jest praktycznie nieodwracalna, pytanie o zgodę przed ustaleniem wartości nieuchronnie prowadzi do odmów, których nie da się cofnąć, gdy pojawi się coś wartego wysłania.
Buforowanie Service Worker niesie ze sobą ryzyko, które wymaga świadomego podejścia. Strategia buforowania, która w nieskończoność dostarcza nieaktualne treści, powoduje, że użytkownicy widzą nieaktualne informacje bez możliwości ich odświeżenia, a źle wdrożony Service Worker może być trudny do usunięcia z urządzeń, na których został już zainstalowany. Wersjonowanie, strategie aktualizacji i mechanizm wymuszania odświeżania są niezbędne, a nie opcjonalne.
Ponieważ podejście to obejmuje architekturę front-end, strategię buforowania i decyzje dotyczące dystrybucji, jest to decyzja produktowa, a nie techniczna. W praktyce zestaw możliwości jest wybierany w ramach rozwój produktów w stosunku do rzeczywistych potrzeb odbiorców, implikacje dotyczące buforowania i dostarczania są wydajność sieci praca, a kompromis w zakresie odkrywania między dystrybucją internetową a dystrybucją sklepową jest zwykle rozważany w kontekście szerszej strategii kanału planowanie strategiczne i doradztwo.