PWA w iOS 14 Beta: Subtelne zmiany

Opublikowany: 2020-09-04

Spis 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:

Pracownik serwisu w iOS 14
Zdjęcie dzięki uprzejmości Maximiliano Firtman

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.

Touch ID i Face ID w Internecie
Źródło: WWDC

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.

Zmiana domyślnej przeglądarki internetowej w iOS 14 beta
Możesz zmienić domyślną przeglądarkę internetową w nowym iOS 14

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ę:

Geolokalizacja w iOS 14 Beta

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.

Geolokalizacja w iOS 14 Beta
Zdjęcie dzięki uprzejmości Maximiliano Firtman

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.

Klipy aplikacji w iOS
Nowy sposób docierania do ludzi dzięki klipom z 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.

Biblioteka aplikacji w iOS
PWA automatycznie pojawiają się pod Webclipami w symulatorze iOS.

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 .

Obsługa aplikacji Web App Manifest w iOS
Manifest aplikacji internetowej — częściowo obsługiwany
Ź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 .

Pasek stanu w iOS Beta 1 do 5
iOS 14 Beta 1 → 4 (na górze) i iOS Beta 5 (na dole)

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.