Progresywna aplikacja internetowa (PWA) to strona internetowa, która wygląda i zachowuje się tak, jakby była aplikacją mobilną. PWA są zbudowane tak, aby wykorzystać natywne funkcje urządzeń mobilnych, nie wymagając od użytkownika końcowego odwiedzania sklepu z aplikacjami, dokonywania zakupu i pobierania oprogramowania lokalnie. Zamiast tego, PWA można zlokalizować za pomocą zapytania w wyszukiwarce i uzyskać do niej natychmiastowy dostęp poprzez przeglądarkę.
PWA eliminują konieczność tworzenia przez sprzedawców e-commerce natywnych aplikacji dla wielu mobilnych systemów operacyjnych. Podobnie jak filmy na YouTube, zawartość PWA jest pobierana stopniowo, co zapewnia użytkownikowi końcowemu lepsze wrażenia niż w przypadku tradycyjnej strony internetowej, która wykorzystuje responsywny design. Termin „progressive web apps” został ukuty w 2015 roku przez projektanta Francesa Berrimana i inżyniera Google Chrome, Alexa Russella
Celem PWA jest zatarcie różnicy między natywnymi aplikacjami a mobilną siecią internetową poprzez przeniesienie większości zalet natywnych aplikacji mobilnych do przeglądarki mobilnej. PWA wykorzystują technologie oparte na standardach i działają w kontenerze, który jest bezpieczny i dostępny dla każdego w sieci. Mogą wysyłać powiadomienia web push, pracować w trybie offline i być dostępne z poziomu ekranu głównego, podobnie jak aplikacje mobilne ze sklepu z aplikacjami.
PWA mogą również korzystać z API i wtyczek do przeglądarek, aby zapewnić, że wdrożenie i utrzymanie strony internetowej pozostanie tak proste, jak to tylko możliwe. Kolejną korzyścią, którą PWA odziedziczyły po tradycyjnych stronach internetowych, jest wykorzystanie URI do wskazywania stanu. Dzięki temu aplikacja może zachować lub przeładować swój stan, gdy użytkownik założy zakładkę lub udostępni adres URL aplikacji.
UI progresywnej aplikacji webowej powinien być poprawnie dobrany do wielkości urządzenia i rozmiaru ekranu. Dodatkowo, powinna wyglądać jak aplikacja natywna i być zbudowana w oparciu o model powłoki aplikacji. PWA powinno mieć niewiele odświeżeń strony, a aplikacja powinna działać w miejscach o słabej łączności lub nawet w trybie offline. Co więcej, nowe treści powinny być udostępniane w aplikacji. Ponieważ żądania sieciowe mogą być przechwytywane, aplikacja powinna być hostowana przez HTTPS, aby zapobiec atakom man-in-the-middle ().