Już od pewnego czasu Microsoft wspomina o Progressive Web Apps (PWA), "progresywnych" aplikacjach webowych, które korzystają z nowoczesnych technologii "w celu zapewnienia lepszego doświadczenia aplikacji". Microsoft już wcześniej chciał sprowadzić PWA do Windows 10 i Microsoft Edge, ale najwyraźniej udało się to dopiero przy zbliżającej się aktualizacji Redstone 4. Z tego tekstu dowiemy się, czym są PWA, czym różnią się od zwykłych aplikacji przeglądarkowych, jaki jest stosunek PWA do UWP i wreszcie jak będą działać PWA poza przeglądarką, dostępne do pobrania ze Sklepu Microsoft.
Od dziś, począwszy od EdgeHTML 17.17063, Service Workers i powiadomienia wypychane są domyślnie włączone w poglądowych buildach Microsoft Edge. Jest to dopełnienie pakietu tworzącego podstawy dla PWA w Windows 10, w którego skład wchodzą też Fetch oraz API Push i Cache. W najbliższych tygodniach firma przeprowadzi kilka eksperymentów, mających na celu umieszczenie progresywnych aplikacji w Microsoft Store, skąd będzie można je pobierać jak każdą inną aplikację. No dobrze, ale czym różnią się aplikacje PWA od "zwykłych" aplikacji webowych? "Technicznie rzecz ujmując, PWA są aplikacjami webowymi, progresywnie rozszerzonymi przez nowoczesne technologie webowe" - twierdzi Microsoft. W przeciwieństwie do "opakowanych" doświadczeń aplikacji webowych PWA są hostowane na serwerze i mogą być aktualizowane z obejściem sklepu z aplikacjami. Nowe standardy webowe umożliwiają ponadto implementację powiadomień push, wsparcie dla scenariuszy offline, odświeżania w tle i nie tylko - wszystko to bez przypisanego do konkretnej platformy kodu.
Microsoft uważa, że PWA są kluczem do przyszłości aplikacji webowych, i wielokrotnie dał temu wyraz. Firma nie traktuje ich jako kolejnego tylko dodatku do Windows - wręcz przeciwnie, widzi w nich dużo więcej: "chcemy wnieść PWA w Windows na wyższy poziom, czyniąc z nich pierwszej klasy aplikacje-obywateli w Windows. Wynika to z naszej ogólnej filozofii, że platforma webowa, napędzana przez EdgeHTML, jest kluczową częścią Universal Windows Platform w Windows 10. Dzięki temu jakiekolwiek urządzenie, na którym działa EdgeHTML 17, otrzymuje pełen dostęp do technologii i funkcjonalności Progressive Web Apps". Na innych platformach PWA rozpoczynają działanie wewnątrz przeglądarki, ale mogą się z niej wydostać, współpracując z systemem w obszarze powiadomień i opcji w menu. Microsoft chce pójść o krok dalej: "Ponieważ PWA mogą być pierwszej klasy aplikacjami-obywatelami w Windows, użytkownicy będą mogli w pełni współpracować z zainstalowanymi PWA - od odkrywania, poprzez instalację, kończąc na wykonywaniu - bez konieczności jakiegokolwiek otwierania przeglądarki".
Just for kicks, here is @davatron5000's @godaytrip as a #PWA on a preview build of Windows 10! ??(inspired by: https://t.co/Flm63mmu6K) pic.twitter.com/t2Kr5MlTOX
— Kirupa ?? (@kirupa) 1 lutego 2018
Jako że Microsoft chce, aby aplikacje progresywne były "odkrywalne", będą one dostępne do pobrania ze Sklepu Microsoft, tak samo jak aplikacje natywne: "W następnym wydaniu Windows 10 chcemy zacząć umieszczać PWA w Microsoft Store. Progressive Web Apps zainstalowane z Microsoft Store będą pakietowane jako appx w Windows 10 - będą uruchamiane w ich własnym sandboxowym kontenerze bez obciążania przeglądarki wizualnie lub pod względem zasobów". Od strony użytkownika ma to wiele korzyści. Aplikacje PWA zainstalowane ze Sklepu będzie można wyszukać w menu Start i poprzez Cortanę, a same aplikacje zyskają dostęp do pełnego zestawu API WinRT dostępnego dla aplikacji UWP. Oznacza to np. możliwość dostępu (za wyrażeniem zgody użytkownika) do danych z kalendarza czy kontaktów. Jeśli chodzi o rekomendowane podejście, Microsoft nie czyni rozróżnienia na UWP i PWA: "Widzimy to jako fałszywą dychotomię! W rzeczywistości w Windows 10 Universal Windows Platform w pełni obejmuje Progressive Web Apps, jako że EdgeHTML jest podstawowym komponentem UWP". Deweloperzy pracujący z istniejącym kodem aplikacji webowych nie muszą tworzyć więc forków.
Na pierwszym etapie implementacji PWA istotne dla Microsoft będą dwie kwestie - rodzina technologii Service Worker w Microsoft Edge i PWA w Sklepie Microsoft. W dalszej przyszłości firma będzie eksperymentować z przenoszeniem najlepszych funkcjonalności z PWA do natywnych aplikacji i vice versa, tworząc tym samym większą integrację między przeglądarką i pulpitem.