PWA w iOS 14 Beta: Subtelne zmiany
Opublikowany: 2020-09-04Spis treści
Po raz kolejny badamy wszystkie zmiany wprowadzone w najnowszej wersji iOS — iOS 14 Beta 6 — i omawiamy z Wami, co się zmieniło, co nowego w zakresie wdrażania PWA w systemie iOS. Jak widać w naszym ostatnim artykule dotyczącym PWA iOS 13, w ostatniej wersji było wiele dobrych wiadomości i z pewnością wyglądało na to, że Apple staje się coraz bardziej przyjazny dla PWA. Ale czy utrzymują tempo wdrażania PWA, czy też całkowicie rezygnują z PWA w obawie przed utratą przychodów z aplikacji? Cóż, właśnie tego chcemy się dowiedzieć.
Informacje o wydaniu
Oto niektóre z ważnych zmian, o których wiemy , że w Safari pojawią się w nowej wersji (niektóre nieistotne części zostały pominięte):
- Obsługa rozszerzeń internetowych Safari w systemie macOS.
- Wsparcie dla HTTP/3.
- Ulepszona szybkość zdawania testów platformy internetowej dla WebDriver, XHR+Fetch, Service Workers, CSS i SVG.
- Włączono pełne blokowanie plików cookie innych firm oraz interfejs Storage Access API w trybie przeglądania prywatnego.
- Usunięto obsługę Flash
- Dodano uwierzytelnianie platformy Web Authentication za pomocą Face ID lub Touch ID, w zależności od tego, która funkcja jest dostępna.
Możemy powiedzieć, o czym myślisz — nie są to tak znaczące zmiany, prawda? Okazuje się, że w PWA iOS 14 jest coś więcej niż na pierwszy rzut oka.
Zagłębiam się w to bardziej
To ta część, w której bardziej zagłębimy się w system operacyjny i dowiemy się o aktualnym stanie PWA w iOS 14 — w tym o tym, jakie są zmiany i w jaki sposób zostało ulepszone PWA oraz czego możemy się spodziewać, gdy iOS 14 trafi na globalną stabilną wersję.
Dobra
Pierwszy znak Service Workera
W tej aktualizacji dostępna jest nowa funkcja WebKit o nazwie Domeny powiązane z aplikacjami , a po włączeniu tej funkcji interfejs API procesów roboczych usługi można faktycznie włączyć w powiązanych domenach. Chociaż nie ma oficjalnej dokumentacji dotyczącej tego, czego możemy oczekiwać od pracowników serwisu — ani nie ma żadnego potwierdzenia, czy ta funkcja zostanie, czy nie — uważamy, że jest to nadal bardzo obiecująca wiadomość dla entuzjastów PWA.
Domeny powiązane z aplikacją
Ta nowa funkcja wnosi do tabeli sposób, w jaki programiści mogą ograniczyć nawigację w aplikacji do wielu domen, co z kolei zapewnia większe bezpieczeństwo użytkownikom końcowym. Te domeny „związane z aplikacją” są określone w pliku info.plist , w kluczu WKAppBoundDomains , na przykład:
<plist version="1.0">
<dykt>
<key>WKAppBoundDomains</key>
<tablica>
<string>example1.com</string>
<string>example2.org</string>
...
</array>
</dict>Po włączeniu domen powiązanych z aplikacjami możemy teraz zarejestrować pracowników usług:

Istnieją jednak tylko niejasne wyjaśnienia, dlaczego pracownicy usług są włączani, gdy mamy skonfigurowane domeny powiązane z aplikacją. A ponieważ nie ma możliwości debugowania instancji Service Worker, cała sprawa jest nadal stosunkowo niejasna nawet dla bardziej doświadczonych programistów.
Weźmy na przykład pamięć podręczną — cechę definiującą pracowników usług. Nigdzie nie można go znaleźć w obszarze Storage w Safari DevTools i rejestracji pracownika serwisu, cytując doświadczonych programistów, którzy wykonali główną pracę: „nie jest udostępniany Safari, aplikacjami internetowymi na ekranie głównym ani innymi aplikacjami korzystającymi z WKWebView i App Bound Domains na tym samym pochodzeniu”.
Chociaż nie mamy jeszcze pełnego obrazu, to fakt, że Service Worker jest czymś w iOS, jest nadal powodem do świętowania i możemy mieć tylko nadzieję, że stabilna wersja da nam pełniejszy obraz.
Nowa obsługa TouchID i FaceID
Niedawno wprowadzone na konferencji Apple Worldwide Developers Conference (WWDC), Touch ID i Face ID są teraz dostępne w Safari za pośrednictwem interfejsu API WebAuthn. Po zintegrowaniu te funkcje zapewnią bezproblemową obsługę PWA, a co za tym idzie, lepsze wrażenia użytkownika.

Możliwość zmiany domyślnej przeglądarki
Począwszy od iOS 14, użytkownicy mogą teraz wreszcie wybrać różne przeglądarki jako domyślne . To (w pewnym sensie) miły ruch ze strony Apple i dobra wiadomość dla użytkowników Apple na całym świecie, ponieważ zmiana domyślnych aplikacji po prostu nie była wcześniej możliwa. Ale jeszcze trzymaj konia, nie oznacza to, że użytkownicy Apple mogą korzystać ze wszystkich ekscytujących funkcji, które przyniosą różne silniki przeglądarek internetowych — w rzeczywistości jest tak samo. Przeglądarki innych firm nadal podlegają ograniczeniom polegającym na WebKit firmy Apple jako ich podstawowym silniku przeglądania , co oznacza, że chociaż nowe domyślne przeglądarki internetowe mogą wyglądać błyszcząco i inaczej na zewnątrz, tak naprawdę nic się nie zmienia w środku.

Geolokalizacja dla sieci
Więc co się dzieje ze stanem API geolokalizacji W3C w Safari? Cóż, są pewne zmiany, które skutkują lepszym śledzeniem lokalizacji, ale nie wynikają bezpośrednio z jakichkolwiek ulepszeń wprowadzonych w API geolokalizacji W3C. Dziwny? Wiemy. Zagłębmy się w to bardziej:

Gdy Dokładna lokalizacja jest włączona dla każdej aplikacji w nowym iOS 14 Beta, możemy pozwolić Safari śledzić naszą przybliżoną lokalizację:

Przybliżona lokalizacja jest znana tylko systemowi operacyjnemu, a podczas procesu analizowania tego nowego zachowania śledzenia lokalizacji w systemie iOS nikt tak naprawdę nie znalazł rozstrzygającej odpowiedzi na pytanie, w jaki sposób nowy iOS 14 Beta 6 dostarcza przybliżone lokalizacje do PWA. Ale patrząc na dotychczasowe dane, wydaje się to obiecujące. Poniżej znajduje się przykład z pracy Flirt, która wykorzystuje Iguazu jako lokalizację śledzenia.

Jak widać, API dokładnie określa i pokazuje lokalizację podmiotu. Domyślamy się, że ten imponujący wynik ma coś wspólnego z nadchodzącymi zmianami w interfejsie API lokalizacji rdzenia, który został zaprezentowany w tym filmie WWDC2020.
Klipy aplikacji — może być dobrą rzeczą
Dzięki nowemu klipowi aplikacji programiści mogą zapewnić wrażenia „podobne do instalacji PWA” po prostu za pomocą metatagu:
<meta name="apple-itunes-app" content="app-id=myAppStoreID, app-clip-bundle-id=appClipBundleID, affiliate-data=myAffiliateData, app-argument=myAppArgument">
Możesz sobie wyobrazić, że ta nowa funkcja App Clip działa podobnie do aplikacji błyskawicznej na Androida, z tą różnicą, że jest bardziej skoncentrowana na skanowaniu NFC i QR – i zachęcaniu użytkowników do ostatecznego instalowania natywnych aplikacji.

[Źródło: Newsroom Apple]
Jaki jest potencjał tej nowej funkcji? Nie wiemy — ale może to okazać się krokiem w kierunku instalowalnych aplikacji PWA, które mamy na Androida.
źli
Nowa galeria aplikacji ignorująca PWA
Nowa biblioteka aplikacji to zautomatyzowana funkcja, która sortuje i organizuje Twoją aplikację według użycia aplikacji, kategorii itp. Aplikacje PWA dodawane do ekranu głównego mogą teraz mieć tę zaletę, że pojawiają się na ekranie głównym użytkownika i w kategorii Wycinki internetowe, chociaż to zachowanie nie jest spójna i podlega zmianom.

W rzeczywistości pierwsi testerzy odkryli, że PWA są ignorowane i nie są w ogóle wyświetlane w nowej bibliotece aplikacji — niezależnie od tego, czy znajdują się w grupie „ Ostatnio dodane ” czy „ Sugestie ”. Chociaż może być fajnie, że PWA są traktowane tak samo jak aplikacje natywne, to wciąż jest dla nas szokująca wiadomość, ponieważ nie spodziewaliśmy się, że PWA będą po prostu ignorowane.
Brak zmian w obsłudze Web App Manifest
Jak można się było spodziewać, firma Apple nie ma żadnego ruchu, aby naciskać na wsparcie Web App Manifest. Stan obsługi Web App Manifest pozostaje Częściowo obsługiwane , co oznacza, że nie są obsługiwane icons , minimal-ui użytkownika , fullscreen , orientation ani theme-color .

Źródło: WebKit
Pasek stanu
Chociaż fajnie byłoby zobaczyć, jak iOS pobiera wartości z theme-color z Manifestu aplikacji internetowej, w międzyczasie musielibyśmy zadowolić się mniejszą ilością. Od wersji beta iOS 14 beta 5 i nowszych nie możemy już mieć białego paska stanu, a jedyne akceptowane wartości to black i black-translucent .

Brzydcy
Podstawowe funkcje są nadal nieobsługiwane
To duża aktualizacja, ale wciąż czegoś brakuje. Prawdopodobnie ma to coś wspólnego z faktem, że niektóre podstawowe funkcje PWA są nadal nieobsługiwane, a Apple nie ma prawie żadnego ruchu, aby naciskać na te funkcje:
- Web Push
- Synchronizacja w tle
- Cykl życia strony
- Service Workers w WebViews (co oznacza brak PWA w Chrome, Firefox, Instagram lub Facebook, gdzie przeglądanie sieci nie jest głównym celem)
- Linki uniwersalne / Przechwytywanie linków
Wniosek
Co myślisz o tych wszystkich nadchodzących zmianach? Jeśli chodzi o nas, czujemy, że po przejrzeniu wszystkich zmian pozostała nam rozczarowująca uwaga. Jest kilka zmian — np. App-Bound Domains, Geolokalizacja — które wydają się krokiem we właściwym kierunku, ale Apple tak naprawdę nie zadał sobie trudu, aby naciskać na więcej podstawowych funkcji PWA w tej aktualizacji. I chyba ma to sens, ponieważ mówimy tutaj o Apple — o którym zawsze wiemy, że jest tak nieugięty w stosunku do sieci.
