Sprawdziłem przyszłość aplikacji dla wszystkich systemów. Ty też możesz
Microsoft chciał zrewolucjonizować pisanie aplikacji na Windows, tworząc platformę UWP. Teraz świat deweloperski przestawia się na PWA. Już dziś możesz przetestować pierwsze z nich.
Microsoft od lat próbuje przekonać programistów do platformy UWP (Universal Windows Platform). Atutem aplikacji UWP jest możliwość tworzenia jednej kompilacji aplikacji dla wszystkich rodzajów urządzeń. Ta sama aplikacja może zostać uruchomiona na telefonie, tablecie, laptopie czy konsoli do gier, bez konieczności dopasowywania jej kodu źródłowego pod te urządzenia. Nie zwalnia to twórcy z projektowania różnych widoków i interfejsów pod różne wyświetlacze i urządzenia, jednak i tak znacznie redukuje koszt stworzenia takiej aplikacji.
PWA (Progressive Web Apps) opracowane przez Google’a, dziedziczy większość zalet UWP. Różni się jednym elementem, który zarazem jest słabością tej platformy, jak i atutem. PWA to aplikacje pisane w językach webowych, a te nie pozwalają na tak wiele, jak aplikacje pisane, na przykład, w C++. To jednak oznacza, że zadziałają w zasadzie wszędzie. Nie tylko na Windows, ale na każdym nowoczesnym systemie operacyjnym.
Multiplatformowe aplikacje, nieodróżnialne dla użytkownika od natywnych.
PWA mogą działać bez połączenia z Internetem, a także nie wymagają pracy w przeglądarce internetowej. Z punktu widzenia użytkownika nie różnią się w obsłudze niczym od dowolnej innej uruchamianej aplikacji. Twórcy aplikacji mogą teraz pisać jeden produkt, który zadziała na Chrome OS, Androidzie, iOS i Windows. Niezależnie od tego, czy rozmawiamy o telefonach, tabletach, desktopach czy konsolach do gier. Znika więc problem opłacalności ekonomicznej pisania danej aplikacji na jeden bądź drugi ekosystem. To po prostu będzie działać.
I tak jak oczywiście trudno będzie napisać AutoCAD-a czy Forzę Motorsport 8 w formie PWA – a wręcz jest to pozbawione sensu – tak jeśli chodzi już o Outlooka, Mapy Google, Gmaila, Facebooka, YouTube’a i podobnych, jest to wielkim ułatwieniem. Na systemy operacyjne Google’a i Microsoftu pojawiać się więc będzie więcej oprogramowania, które będzie szybko i równolegle rozwijane.
Równanie szans dla wszystkich. Kiedy to się zacznie?
PWA oznacza, że żaden system operacyjny nie będzie pominięty. Jedna i ta sama aplikacja zadziała wszędzie. Dla typowego użytkownika znikną wszelkie różnice w dostępności oprogramowania na każdą z platform, poza złożonym, specyficznym software’em. A kiedy ta rewolucja nadejdzie? Szybciej, niż myślicie.
Na Chrome OS i Androidzie aplikacje PWA w zasadzie już teraz działają natywnie, choć zwykły użytkownik musi nieco pogrzebać, by móc zacząć z nich korzystać. Microsoft wprowadzi ich natywną obsługę wraz z wiosenną aktualizacją Windows 10 (na razie tylko na PC i tabletach), wtedy też zacznie przyjmować PWA do Microsoft Store. Apple nic w tej kwestii oficjalnie nie ogłaszał, ale z kanałów deweloperskich wiemy, że również pracuje nad wprowadzeniem ich obsługi. To pozwala zakładać, że firma wprowadzi ich natywną obsługę w przyszłej dużej aktualizacji iOS-a i macOS-a.
Jak sprawdzić już dziś jak działają PWA?
W przyszłości będą się one pojawiać w systemowych repozytoriach aplikacji, a przeglądarki systemowe, gdy trafią na taką aplikację, poinformują użytkownika o możliwości jej instalacji. Na razie jednak trzeba się nieco pomęczyć, by móc je uruchomić. Jak to zrobić?
Wykorzystamy do tego najnowszą wersję przeglądarki Chrome, która już obsługuje PWA i która jest dostępna na wszystkie istotne systemy operacyjne (z jednym wyjątkiem, wersja na iOS-a jeszcze nie obsługuje PWA). By włączyć obsługę PWA, należy włączyć funkcje przeglądarki ukryte przed zwykłym użytkownikiem. Na wszelki wypadek zapamiętajmy więc, jakie modyfikacje za chwilę wprowadzimy do Chrome’a, by móc po testach przywrócić stan przeglądarki – tak na wszelki wypadek.
W pasku adresu przeglądarki wpisujemy chrome://flags/. Otworzy nam się menu konfiguracyjne, pozwalające włączać różne eksperymentalne funkcje. Nas interesuje włączenie trzech funkcji: App Banners, Experimantal App Banners oraz Desktop PWAs. I gotowe, trzeba jeszcze tylko uruchomić ponownie Chrome’a. Po zakończeniu testów na górze dostępny jest przycisk Przywróć wszystkie ustawienia domyślne.
Instalujemy naszą pierwszą PWA.
Niestety, na razie nie ma żadnego katalogu tych aplikacji. By sprawdzić, czy wasz ulubiony program ma już wersję PWA, będziecie musieli ręcznie używać wyszukiwarki internetowej i czytać informacje na ten temat. To się niebawem zmieni, na razie jednak musimy sobie radzić sami.
Jako pierwszą na testy wybrałem PWA popularnego komunikatora Telegram Messenger. By ją zainstalować, udałem się na webową wersję klienta, a więc wpisałem ten adres: https://web.telegram.org/. Po zalogowaniu się rozwinąłem menu Chrome’a (trzy kropeczki w prawym górnym rogu) i kliknąłem Dodaj do Pulpitu. Na tym koniec.
Na Pulpicie Windows pojawił mi się skrót do aplikacji. Wystarczy ją dwukliknąć i… działa. Można też dodać sobie skrót do aplikacji w innym miejscu, ja dla wygody przypiąłem sobie ją do paska zadań.
Po uruchomieniu aplikacja wygląda i działa tak, jak byśmy uruchomili natywną wersję klienta. Przeglądarka Chrome nie jest uruchamiana, PWA Telegramu nie jest otoczona jej interfejsem. Działa również, gdy odłączymy komputer od Internetu (choć komunikator internetowy jest wtedy mało użytecznym narzędziem), otrzymujemy też powiadomienia w przypadku otrzymania nowej wiadomości.
Telegram nie jest jedyny. Coraz więcej aplikacji dołącza do rewolucji PWA.
Powyżej mamy Tindera, najpopularniejszą aplikację randkową na świecie.
Tu z kolei uśmiecha się do nas Trivago, popularna aplikacja do wyszukiwania hoteli i noclegów.
A tu mamy Twittera.
PWA oczywiście nie spowodują całkowitego odejścia od aplikacji natywnych. Języki webowe, przynajmniej na razie, są nadal zbyt prymitywne i trudne w programowaniu do bardziej zaawansowanych zastosowań. Sęk w tym, że te złożone aplikacje są używane przez mały procent użytkowników i zazwyczaj stanowią mały procent wszystkich używanych przez nich aplikacji.
Jeszcze w tym roku wiele różnic pomiędzy Windows, Androidem i macOS zostanie zatartych. Na czym skorzystają w zasadzie wszyscy. Przyznam szczerze, że nie mogę się już doczekać.