Aplikacja webowa to tak naprawdę sztuczny termin wprowadzony na potrzeby biznesowych rozmów. Tak po prawdzie aplikacja webowa to strona internetowa ze zbyt dużą ilością JS-a. I mówię to całkiem poważnie. Istnieje swego rodzaju umowny podział pomiędzy stronami (mającymi przekazywać użytkownikom pewne informacje) a aplikacjami (mającymi umożliwiać wykonywanie użytkownikowi pewnych działań) i jednym z punktów takiego podziału jest założenie, że aplikacja webowa wymaga do działania JS-a, podczas gdy strona internetowa takiego wymogu nie ma → https://adactio.com/journal/6246/
Prawda jest taka, że bardzo dużo aplikacji webowych można napisać w taki sposób, żeby nie wymagały JS-a do działania, co można uzyskać poprzez zastosowanie Progressive Enhancement. W tym wypadku podział na strony i aplikacje po prostu nie ma sensu – bo obydwie te rzeczy robi się w bardzo podobny sposób. Jedyna różnica polega na tym, ile logiki znajduje się w opcjonalnej warstwie zachowania po stronie klienta. Owszem, są niektóre aplikacje, które bez JS nie mają racji bytu (np. Google Maps czy Photopea), ale są one w zdecydowanej mniejszości i – co IMO ważniejsze w tej dyskusji – je również można tworzyć przy użyciu założeń Progressive Enhancement.