REKLAMA

Google i Microsoft mają świetny plan. Aplikacje otworzymy na kilku systemach

Uniwersalne aplikacje dla wszystkich wersji Windows? Ten plan wyraźnie nie wypalił. A co powiecie na aplikacje, które zadziałają na każdym nowoczesnym systemie operacyjnym? To już powinno przykuć uwagę deweloperów.

31.10.2017 11.36
PWA Google Microsoft Apple
REKLAMA
REKLAMA

Microsoft od lat próbuje przekonać programistów do platformy UWP (Universal Windows Platform). Plan był dobry: UWP jest nowoczesnym środowiskiem uruchomieniowym, przystosowanym do nowoczesnego świata, w którym pracujemy równocześnie na wielu różnych rodzajach urządzeń. Bez wątpienia działa i działa bardzo dobrze. Co więc okazało się problemem? Windows i jego klienci.

Windows ma bardzo bogatą spuściznę, jeśli chodzi o dostępność oprogramowania na ten system. Przez dekady dominował na rynku, dzięki czemu powstało na niego dziesiątki tysięcy użytecznych aplikacji. I to rozwijanych od bardzo wielu lat. Twórcy aplikacji a także ich użytkownicy są tak do nich przyzwyczajeni i tak na nich polegają, że nie widzą żadnej korzyści w przepisywaniu tych aplikacji na nowocześniejszą platformę. UWP nigdy nie zdobyło zasłużonego zainteresowania. Projekt istnieje i jest rozwijany, na razie – niestety – pozostaje jednak ciekawostką.

Pragmatyczne podejście Satyi Nadelli nie wróży mu wielkiej przyszłości. Szef Microsoftu widząc, że od lat środowisko uruchomieniowe UWP nie jest w stanie się przebić do deweloperskiego mainstreamu, postanowił – lub przyjął dobrą radę na ten temat – zwrócić uwagę na otwarte rozwiązanie. Na coś, co nie tylko Microsoft będzie rozwijał. Padło na PWA, czyli Progressive Web Apps.

Co to jest aplikacja PWA?

Atutem aplikacji UWP była 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. To nie zwalniało twórcy z projektowania różnych widoków i interfejsów pod różne wyświetlacze i urządzenia, jednak i tak znacznie redukowało koszt stworzenia takiej aplikacji.

PWA dziedziczy większość zalet UWP. Różni się jednym elementem, który zarazem jest słabością tej platformy, jak i atutem. Aplikacje 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.

Czym różnią się od klasycznych aplikacji webowych, z których korzystamy na co dzień? Aplikacje 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.

Microsoft miał własny pomysł na multiplatformowe aplikacje webowe. Wybrał jednak pomysł Google’a.

Pomysł Microsoftu nazywa się Hosted Web Apps. To aplikacje webowe hostowane na serwerze webowym, które można było pisać w dokładnie ten sam sposób, przy użyciu dokładnie tych samych narzędzi i języków, co aplikacje UWP. Z początku oferowały znacznie więcej niż PWA od Google’a, które wymagały załadowania do pamięci całej przeglądarki Chrome. Wszystko się zmieniło, gdy Google opracował coś, co nazywa się service worker. To był ten moment, w którym aplikacje PWA nauczyły się pracować offline, pracować w tle i bez konieczności uruchamiania całej przeglądarki internetowej.

Jak twierdzi Jeff Burtoft z Microsoftu w rozmowie z Paulem Thurrottem, to był ten moment, w którym Microsoft zdecydował się nawiązać współpracę z Google’em. Wyciągnięto słuszny wniosek, że równoległa praca nad dwiema bardzo podobnymi do siebie technologiami nie ma sensu. Android, Chrome OS i Windows powinny być w tej kwestii ze sobą interoperacyjne, a deweloperzy nie powinni być rozproszeni koniecznością tworzenia podwersji na te systemy. To przecież burzyłoby całą istotę PWA i Hosted Web Apps. Zdecydowano, że PWA jest lepszym pomysłem.

Od rozmów do czynów.

Rozwój Hosted Web Apps został skierowany w kierunku scalenia go z PWA. Google rozpoczął prace nad wdrażaniem pełnej obsługi tych aplikacji w Chrome OS i Androida. To samo zrobił Microsoft. Pierwsze elementy obsługi PWA są już dostępne od jesiennej aktualizacji Windows 10 Creators Update, jednak z punktu widzenia użytkownika na razie są to głównie śmieci w kodzie systemu. Które służą głównie do testowania różnych rzeczy przez programistów. Ten fundament zostanie jednak rozbudowany i odblokowany w Windows 10 „Redstone 4”, a więc aktualizacji mającej się pojawić w najbliższym kwietniu.

To oznacza, że od kwietnia w Sklepie Microsoft zaczną pojawiać się aplikacje PWA. Co ciekawe, deweloperzy nie będą musieli nawet się przejmować ich dodawaniem do tego repozytorium. Wystarczy, że w pliku manifestu, opisującym aplikację, deweloper doda odpowiedni wpis zezwalający Bingowi i automatom Microsoftu na automatyczną publikację w Sklepie Windows. No, półautomatyczną, bowiem Microsoft będzie jeszcze je kontrolował pod kątem obecności ewentualnego złośliwego kodu mogącego narazić użytkowników Windows na różne nieprzyjemności.

Skoro z punktu widzenia użytkownika niewiele się zmienia, to czemu właściwie to jest takie ciekawe?

Z jednego bardzo prostego powodu. Twórcy aplikacji mogą teraz pisać jeden produkt, który zadziała na Chrome OS, Androidzie 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 ciężko 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. To oznacza więc, że na systemy operacyjne Google’a i Microsoftu pojawiać się będzie więcej oprogramowania, które będzie szybko i równolegle rozwijane.

A gdzie w tym wszystkim Apple?

Tam, gdzie zawsze. Złośliwie pisząc, „zrobi to lepiej niż inni, więc potrzebuje więcej czasu”. Firma już zaczęła wdrażać service workery – niezbędne, by skorzystać z zalet PWA – do silnika WebKit wykorzystywanego przez Safari. Ma z tym jednak dwa problemy. Po pierwsze nie wiadomo jak bardzo zaawansowane są to prace, jednak można domniemywać, że z uwagi na zainteresowanie się tym tematem dopiero latem bieżącego roku, jego prace są bardzo opóźnione względem tych wykonanych już przez Google i Microsoft. Nie mam jednak żadnej wątpliwości, że firma nadrobi w końcu ewentualne zaległości. Pozostaje jednak problem numer 2.

Nie jest jasne czy PWA będą oferowane przez App Store i Mac App Store. W drugim przypadku ewentualny brak obsługi będzie drobną niedogodnością. Jednak brak możliwości instalacji takich aplikacji na tych samych prawach co pozostałe na iOS znacząco zmniejsza przydatność tych aplikacji na iPhone’ach i iPadach.

A nawet jeśli Apple będzie w pełni współpracować i otworzy się na PWA, to to rodzi kolejny problem. Firma od lat szczyci się – słusznie bądź nie – unikatowością i dopracowaniem iOS-owych i makowych wersji oprogramowania. Multiplatformowe aplikacje momentalnie zniwelują ten atut, a co za tym idzie, argument by wybrać sprzęt Apple’a nad ten od innych producentów.

Fragmentacja platform nie zostanie zlikwidowana. Ale przestanie być problemem.

Google i Microsoft wprowadzają do PWA rozwiązania, które będą dostępne tylko dla użytkowników danego systemu. Przykładowo, w przypadku Windows będą to aktywne kafelki dla tych aplikacji, które - kafelki, nie aplikacje -  z oczywistych względów nie pojawią się na Androidzie. Wprowadzenie jednak takiego unikatowego mechanizmu nie zrywa kompatybilności z innym systemem operacyjnym i pozostaje wyłącznie w gestii dewelopera.

REKLAMA

PWA będą rewolucją, którą UWP prawdopodobnie już nigdy nie będzie. To nie oznacza, że UWP zostanie zapomniane. Platforma ta nadal będzie tą preferowaną w pisaniu aplikacji dla Windows, jeżeli deweloper będzie chciał lepiej wykorzystać atuty systemu operacyjnego Microsoftu. Analogicznie sytuacja będzie wyglądać na Androidzie.

Wielu deweloperów nie ma jednak czasu i pieniędzy na pisanie, rozwijanie i utrzymywanie tej samej aplikacji w wersji webowej, na iOS-a, Androida i Windows. Muszą więc wybrać preferowaną platformę kosztem innych, która będzie rozwijana z niższym priorytetem lub wręcz w ogóle nie zostanie opracowana. Dla nich PWA zmienia wszystko. A konsekwencje tej rewolucji, jak najbardziej pozytywne, odczujemy również i my.

REKLAMA
Najnowsze
REKLAMA
REKLAMA
REKLAMA