PWA pe iOS 14 Beta: Modificări subtile
Publicat: 2020-09-04Cuprins
Este din nou momentul când explorăm toate modificările cu cea mai recentă versiune iOS — iOS 14 Beta 6 — și discutăm cu tine ce s-a schimbat, ce este nou cu stadiul adoptării PWA pe iOS. După cum s-a văzut în ultimul nostru articol PWA iOS 13, au fost o mulțime de vești bune de avut în ultima versiune și cu siguranță părea că Apple devine din ce în ce mai prietenos cu PWA. Dar își mențin ritmul de adoptare a PWA sau renunță la PWA de teamă să nu piardă veniturile din aplicații? Ei bine, asta suntem aici să aflăm.
Note de lansare
Iată câteva dintre modificările importante despre care știm că vor veni în Safari în această nouă versiune (unele dintre părțile irelevante au fost omise):
- Suport pentru extensiile web Safari pe macOS.
- Suport pentru HTTP/3.
- Rata de promovare îmbunătățită a testelor platformei web pentru WebDriver, XHR+Fetch, Service Workers, CSS și SVG.
- S-a activat blocarea completă a cookie-urilor terță parte și API-ul Storage Access în modul Navigare privată.
- S-a eliminat suportul pentru Flash
- S-a adăugat un autentificator de platformă de autentificare web folosind Face ID sau Touch ID, în funcție de capacitatea prezentă.
Putem spune la ce te gândești – schimbări nu atât de semnificative, nu-i așa? Ei bine, se dovedește că în PWA iOS 14 există mai mult decât se vede în ochi.
Sapă mai mult în ea
Aceasta este partea în care săpăm mai mult în sistemul de operare și aflăm despre starea actuală a PWA în iOS 14 — inclusiv care sunt modificările și cum a fost îmbunătățită PWA și la ce ne putem aștepta când iOS 14 va ajunge la o lansare globală stabilă.
Bunurile
Primul semn al lucrătorului de serviciu
Există o nouă caracteristică WebKit în această actualizare care se numește Domenii legate de aplicații și, cu această caracteristică activată, API-ul lucrătorilor de servicii poate fi de fapt activat pe domeniile legate. Deși nu există o documentație oficială cu privire la ceea ce ne putem aștepta de la lucrătorii de la service - și nici nu există nicio confirmare dacă această caracteristică este sau nu aici pentru a rămâne - credem că este încă o veste foarte promițătoare pentru entuziaștii PWA.
Domenii legate de aplicații
Ceea ce aduce această nouă caracteristică este o modalitate prin care dezvoltatorii pot restricționa navigarea în aplicație la un număr de domenii și, la rândul său, garantează mai multă securitate pentru utilizatorii finali. Aceste domenii „legate la aplicație” sunt specificate în fișierul info.plist , sub cheia WKAppBoundDomains , astfel:
<plist version="1.0">
<dict>
<key>WKAppBoundDomains</key>
<matrice>
<string>example1.com</string>
<string>example2.org</string>
...
</array>
</dict>Cu domeniile legate de aplicații activate, acum putem avea angajați în service înregistrați:

Există, totuși, doar explicații vagi cu privire la motivul pentru care lucrătorii de servicii sunt activați atunci când avem configurate domenii legate de aplicații. Și din moment ce nu există nicio modalitate de a depana instanțe ale lucrătorilor de servicii, totul este încă relativ vag chiar și pentru dezvoltatorii mai experimentați.
Să luăm cache Storage – caracteristica definitorie a lucrătorilor de servicii – de exemplu. Nu se găsește nicăieri la Stocare în Safari DevTools și la înregistrarea lucrătorului de servicii, pentru a cita dezvoltatorii experimentați care au făcut munca majoră: „nu este partajat cu Safari, aplicațiile web de pe ecranul de pornire sau alte aplicații care utilizează WKWebView și App Bound Domains. pe aceleași origini.”
Deși nu avem încă imaginea completă, faptul că Service Worker este un lucru în iOS este încă un motiv de sărbătoare și nu putem decât să sperăm că lansarea stabilă ne poate oferi o imagine mai completă.
Nou suport pentru TouchID și FaceID
Introduse recent în cadrul Apple Worldwide Developers Conference (WWDC), Touch ID și Face ID sunt acum disponibile în sfârșit pe Safari prin API-ul WebAuthn. Atunci când sunt integrate, aceste funcții vor oferi o experiență fără frecare pentru PWA și, la rândul lor, vor genera o experiență mai bună pentru utilizator.

Posibilitatea de a schimba browserul implicit
Începând de la iOS 14, utilizatorii pot alege în sfârșit browsere diferite ca implicite . Aceasta este (un fel) o mișcare plăcută a Apple și o veste bună pentru utilizatorii Apple de pretutindeni, deoarece schimbarea aplicațiilor implicite pur și simplu nu era posibilă înainte. Dar ține-ți calul încă, asta nu înseamnă că utilizatorii Apple pot beneficia de toate caracteristicile interesante pe care le vor aduce diferite motoare de browser web - de fapt, este la fel. Browserele terțe sunt încă sub restricția de a se baza pe WebKit de la Apple ca motor de navigare de bază , ceea ce înseamnă că, în timp ce noile browsere web implicite pot arăta strălucitoare și diferite în exterior, nimic nu se schimbă cu adevărat în interior.


Geolocalizare pentru web
Deci, ce este cu starea API-ului de geolocalizare W3C în Safari? Ei bine, există unele modificări care au ca rezultat o mai bună urmărire a locației, dar nu ca rezultat direct al oricăror îmbunătățiri aduse API-ului de geolocalizare W3C. Ciudat? Noi stim. Să ne aprofundăm mai mult în asta:
Când Locația precisă este activată pentru fiecare aplicație în noul iOS 14 Beta, putem avea Safari să urmărească locația noastră aproximativă:

Locația aproximativă este cunoscută doar de sistemul de operare și, în timpul procesului de analiză a acestui nou comportament de urmărire a locației în iOS, nimeni nu a găsit cu adevărat un răspuns concludent cu privire la modul în care noul iOS 14 Beta 6 oferă locații aproximative pentru PWA. Dar privind datele de până acum, pare promițător. Mai jos este un exemplu din munca lui Flirt care folosește Iguazu ca locație de urmărire.

După cum puteți vedea, API-ul determină și arată cu exactitate locația subiectului. Bănuința noastră este că acest rezultat impresionant are ceva de-a face cu schimbările viitoare aduse API-ului Core Location, care a fost prezentat în acest videoclip WWDC2020.
Clipuri din aplicație — ar putea fi un lucru bun
Cu noul App Clip, dezvoltatorii pot oferi o experiență „asemănătoare instalării PWA” pur și simplu prin utilizarea unei metaetichete:
<meta name="apple-itunes-app" content="app-id=myAppStoreID, app-clip-bundle-id=appClipBundleID, affiliate-data=myAffiliateData, app-argument=myAppArgument">
Vă puteți imagina că această nouă funcție App Clip funcționează în mod similar cu aplicația Instant pe Android, doar că este mai axată pe scanarea NFC și QR - și pentru a determina utilizatorii să instaleze în cele din urmă aplicații native.

[Sursa: Sala de știri Apple]
Care este potențialul acestei noi funcții? Nu știm, dar s-ar putea dovedi a fi un pas către PWA-urile instalabile pe care le avem pe Android.
Cei rele
Noua galerie de aplicații ignorând PWA
Noua bibliotecă de aplicații este o funcție automată care sortează și organizează aplicația dvs. în funcție de utilizarea aplicației, categorii etc. PWA care sunt adăugate la ecranul de pornire pot avea acum avantajul de a apărea în ecranul de pornire al utilizatorului și în categoria Webclips, deși acest comportament nu este consecvent și este supus modificărilor.

În realitate, primii testeri au descoperit că PWA-urile sunt ignorate și nu sunt afișate deloc în noua bibliotecă de aplicații – fie că este vorba în grupul „ Adăugate recent ” sau „ Sugestii ”. Deci, deși ar putea fi frumos ca PWA să beneficieze de același tip de tratament ca aplicațiile native, aceasta este încă o veste șocantă pentru noi, deoarece nu ne așteptam ca PWA să fie pur și simplu ignorate.
Nicio modificare a suportului Web App Manifest
După cum v-ați fi așteptat, nu există nicio mișcare de la Apple pentru a solicita suport pentru Web App Manifest. Starea suportului pentru Web App Manifest rămâne parțial acceptată , ceea ce înseamnă că nu există suport pentru icons , minimal-ui , fullscreen , orientation sau theme-color .

Sursa: WebKit
Bara de stare
Deși ar fi plăcut să vedem iOS preluând valoarea (valorile) din theme-color din Web App Manifest, ar trebui să ne mulțumim cu mai puțin între timp. Începând cu iOS 14 beta versiunea 5, nu mai putem avea bară de stare albă și singurele valori acceptate sunt black și black-translucent .

Urâții
Caracteristicile de bază sunt încă neacceptate
Este o actualizare mare, dar ceva încă se simte lipsit. Probabil că are ceva de-a face cu faptul că unele caracteristici de bază ale PWA sunt încă lăsate neacceptate și aproape că nu există nicio mișcare din partea Apple pentru a promova aceste funcții:
- Web Push
- Sincronizare în fundal
- Ciclul de viață al paginii
- Lucrători de servicii pe WebViews (ceea ce înseamnă că nu există PWA pe Chrome, Firefox, Instagram sau Facebook unde navigarea pe web nu este scopul principal)
- Legături universale / Captură legături
Concluzie
Ce simți despre toate aceste schimbări viitoare? În ceea ce ne privește, simțim că am rămas cu o notă dezamăgitoare după ce am analizat toate modificările. Există unele modificări – de exemplu, domenii legate de aplicații, geolocalizare – care par a fi un pas în direcția corectă, dar Apple nu s-a obosit cu adevărat să facă eforturi pentru mai multe funcții de bază ale PWA în această actualizare. Și are sens, credem, din moment ce Apple este despre care vorbim aici - despre care am știut întotdeauna că este atât de ferm împotriva Web-ului.
