Chyba wszyscy przegapili fakt, że Apple właśnie częściowo otwiera iOS-a na zewnętrzne aplikacje
Nie, nie, nie od razu, nie w całości. Wykonał wręcz bardzo ostrożny krok w kierunku całkowitego zerwania z App Store i pewnie długo jeszcze się na to nie zdecyduje. Tym niemniej warto odnotować, że pojawiają się nowe drogi na pozyskiwanie oprogramowania.
Na początek, dla porządku, warto odnotować kilka truizmów. macOS, jako staroszkolny system pecetowy, jest systemem otwartym. To oznacza, że pozwala na instalację oprogramowania z w zasadzie dowolnego źródła. Apple, co prawda zapewnia systemowe repozytorium Mac App Store, od którego powinniśmy zaczynać szukając jakiegoś programu, ale w żadnym razie nie wymusza jego stosowania.
W iOS, którego spadkobiercą jest iPadOS, jest zupełnie odwrotnie. Apple drobiazgowo nadzoruje ofertę oprogramowania na te systemy i ma kluczowy wpływ na ofertę programową App Store’a. Nie ma żadnego innego legalnego źródła, poza systemowym repozytorium, na pozyskiwanie aplikacji na iPhone’a i iPada. To częściowo się zmienia, w dość zaskakujący sposób.
Mac to platforma otwarta, więc i aplikacje można instalować z dowolnego źródła. W tym te napisane pierwotnie dla iPada.
Jedną z kluczowych – choć spodziewanych – nowości w macOS jest pełna obsługa aplikacji napisanych dla iPada. Pierwotnie w ramach testów Apple udostępnił tylko swoje własne ipadowe aplikacje na Maki, teraz jednak będzie można korzystać z dowolnych.
Nie będzie się to jednak działo automatycznie z punktu widzenia użytkownika. Podobnie jak w Windows 8, to programista decyduje na jakie platformy zostanie skomplilowany jego app. Dopóki nie zaznaczy odpowiedniego fistaszka w narzędziach deweloperskich, dopóty aplikacji nie będzie można uruchomić na komputerach Mac. Można było jednak zakładać, że taka hybrydowa aplikacja następnie będzie musiała trafić do Mac App Store’a. Otóż nie.
Deweloper będzie oczywiście mógł umieścić ją w systemowym repozytorium, ale może też dystrybuować ją w innej, dowolnej formie. Co więcej, taką ipadową aplikację na macOS-a będzie mógł też sprzedawać, w tym związane z nią usługi, bez konieczności płacenia prowizji Apple’owi. To niesamowity krok naprzód, biorąc pod uwagę dotychczasowe zwyczaje firmy Tima Cooka, ale też bardzo istotny – prokonsumencki i prodeweloperski. To pierwszy raz w historii, kiedy aplikacje na iOS-a (kursywa, bo jednak formalnie są to aplikacje na Maca) można legalnie pozyskać z innego źródła niż App Store.
A skoro już o App Store mowa. Apple coraz poważniej traktuje PWA.
Wyobraźcie sobie jakąś aplikację, którą do tej pory używaliście w przeglądarce, na przykład Gmaila czy Twittera. Następnie wyobraźcie sobie, że aplikacja ta może działać w tle (i na przykład wysyłać powiadomienia) oraz że może pracować nawet w trybie offline. A także że jest widoczna na liście aplikacji w systemie obok pozostałych, a po uruchomieniu pracuje ona we własnym oknie, a nie naszej przeglądarki. To z grubsza właśnie są PWA, czyli Progressive Web Apps.
PWA są wymysłem Google’a, ale promuje je też intensywnie Microsoft. Są obsługiwane natywnie przez Androida, Chrome OS-a i Windowsa, a także przez przeglądarki Firefox i te oparte na Chromium. Apple do tematu podchodził do tej pory bardzo ostrożnie – PWA można umieszczać w repozytoriach, ale przede wszystkim można je instalować bezpośrednio z przeglądarki. A przecież App Store to istotne źródło przychodów Apple’a.
Miło mi jednak poinformować, że prace nad obsługą PWA w mobilnych systemach Apple’a postępują. Nie udało mi się dotrzeć do informacji czy i czemu te nowości nie trafią do macOS-a – brak informacji z WWDC 2019 to sugeruje – jednak Apple na sesjach dla programistów pochwalił się kolejnymi udogodnieniami dla tych z gości, którzy stawiają na pisanie appów właśnie w takiej formie. I trudno się dziwić: PWA zadziałają bez żadnych zmian w kodzie na niemal dowolnym sprzęcie, mobilnym i stacjonarnym. Ich blokowanie na systemach Apple’a mogłoby zakończyć się dla twórców iOS-a niepomyślnie.
Apple nie tylko nie usunął dotychczasowych elementów składowych obsługi PWA w iOS-ie i iPadOS-ie, ale dodał też nowe. Od wersji 13 aplikacje tego rodzaju będą wyświetlane w widoku ich przełączania z miniaturą pokazującą ich interfejs i stan, dokładnie jak aplikacje natywne. Będą też obsługiwane przez widok dzielonych aplikacji (Split View) na iPadOS, w tym z możliwością uruchamiania wielu instancji tej samej aplikacji. Niestety, nadal nie działają powiadomienia push i synchronizacja w tle. Może w iOS 14 i iPadOS 2?
App Store to potęga. Ale Apple dawno już nie czuł takiej presji. Dobrze, że zdaje sobie z tego sprawę.
Apple ma wyjątkową zdolność do przekonywania deweloperów do swoich wizji, znaczna część aplikacji szybko jest aktualizowana do nowych wersji jak tylko pojawi się nowe API w systemie lub inny pomysł, z którego warto skorzystać. Dlatego też w żadnym razie nie odważę się napisać chwytliwego nagłówka, zawierającego gdzieś frazę „App Store w tarapatach”. Trudno jednak ignorować fakty.
A te zdecydowanie działają na korzyść PWA. Nie tylko mają one wsparcie ze strony Google’a i Microsoftu – dwóch ogromnych software’owych potęg – to na dodatek również i ze strony deweloperów. PWA wyłącznie przybywa i nic dziwnego, są one ogromną korzyścią dla programistów. Ci piszą swój kod tylko raz, wiedząc, że zadziała on tak samo na Chromebooku, Samsungu Galaxy, ThinkPadzie z Windowsem i w zasadzie wszędzie indziej. Aktualizacje? Pojawiają się w ułamku sekundy u użytkownika, niezależnie od platformy.
Wydaje mi się, że Apple nie ma wyjścia, musi dołączyć do głównego nurtu. A jego opory przed wprowadzeniem PWA w pełnej formie na jego systemy prawdopodobnie tłumaczyć można brakiem pomysłu na ich dystrybucję. Czy iść poprzednią drogą Microsoftu i oferować je w apple’owym odpowiedniku Microsoft Store’a? Czy też, jak sugerują twórcy Chromium i Firefoxa, pozwolić na ich wygodną instalację bezpośrednio z przeglądarki? Na co się zgodzą użytkownicy i twórcy? Tego zapewne nie wie nikt. Jestem jednak przekonany, że Apple w końcu będzie musiał to sprawdzić. Na szczęście wydaje się być na drodze ku temu.