PWA en iOS 14 Beta: cambios sutiles

Publicado: 2020-09-04

Tabla de contenido

Es ese momento nuevamente cuando exploramos todos los cambios con la última versión de iOS, iOS 14 Beta 6, y discutimos con usted qué ha cambiado, qué hay de nuevo con el estado de adopción de PWA en iOS. Como se vio en nuestro último artículo de PWA iOS 13, había muchas buenas noticias en la última versión, y parecía que Apple se estaba volviendo más compatible con PWA. Pero, ¿mantienen su ritmo de adopción de PWA o están abandonando PWA por completo por temor a perder los ingresos de la aplicación? Bueno, eso es lo que estamos aquí para averiguar.

Notas de lanzamiento

Estos son algunos de los cambios importantes que sabemos que llegarán a Safari en esta nueva versión (se omitieron algunas de las partes irrelevantes):

  • Compatibilidad con extensiones web de Safari en macOS.
  • Soporte para HTTP/3.
  • Se mejoró la tasa de aprobación de las pruebas de plataforma web para WebDriver, XHR+Fetch, Service Workers, CSS y SVG.
  • Se habilitó el bloqueo completo de cookies de terceros y la API de acceso al almacenamiento en el modo de navegación privada.
  • Soporte eliminado para Flash
  • Se agregó un autenticador de la plataforma de autenticación web mediante Face ID o Touch ID, según la capacidad presente.

Podemos decir lo que está pensando: cambios no tan significativos, ¿no es así? Bueno, resulta que hay más en PWA iOS 14 de lo que parece.

Profundizando más en ello

Esta es la parte en la que profundizamos más en el sistema operativo y descubrimos el estado actual de PWA en iOS 14, incluidos los cambios y cómo se ha mejorado PWA, y qué podemos esperar cuando iOS 14 llegue a la versión estable global.

Los bienes

Primera señal de Service Worker

Hay una nueva característica de WebKit en esta actualización que se llama Dominios vinculados a la aplicación y, con esta característica habilitada, la API de los trabajadores del servicio se puede habilitar en los dominios vinculados. Aunque no hay documentación oficial sobre lo que podemos esperar de los trabajadores de servicio, ni hay ninguna confirmación sobre si esta función está aquí para quedarse o no, creemos que sigue siendo una noticia muy prometedora para los entusiastas de PWA.

Dominios vinculados a la aplicación

Lo que esta nueva característica trae a la mesa es una forma para que los desarrolladores restrinjan la navegación dentro de la aplicación a una cantidad de dominios y, a su vez, garanticen más seguridad para los usuarios finales. Estos dominios "vinculados a la aplicación" se especifican en el archivo info.plist , bajo la clave WKAppBoundDomains , así:

 <plist versión="1.0">
<dict>
<key>WKAppBoundDomains</key>
<matriz>
    <string>ejemplo1.com</string>
    <string>ejemplo2.org</string>
    ...
</matriz>
</dict>

Con los dominios vinculados a la aplicación habilitados, ahora podemos tener trabajadores de servicio registrados:

Trabajador de servicio en iOS 14
Imagen cortesía de Maximiliano Firtman

Sin embargo, solo hay explicaciones vagas de por qué los trabajadores de servicio están habilitados cuando tenemos configurados los dominios vinculados a la aplicación. Y dado que no hay forma de depurar instancias de trabajadores de servicio, todo sigue siendo relativamente vago incluso para los desarrolladores más experimentados.

Tomemos el almacenamiento en caché, la característica que define a los trabajadores de servicios, por ejemplo. No se encuentra en ninguna parte en Almacenamiento en Safari DevTools, y el registro del trabajador del servicio, para citar a los desarrolladores experimentados que realizaron el trabajo principal: "no se comparte con Safari, aplicaciones web de pantalla de inicio u otras aplicaciones que usan WKWebView y App Bound Domains sobre los mismos orígenes.”

Aunque todavía no tenemos la imagen completa, el hecho de que Service Worker sea una cosa en iOS sigue siendo motivo de celebración, y solo podemos esperar que la versión estable pueda darnos una imagen más completa.

Nuevo soporte para TouchID y FaceID

Presentados recientemente en la Conferencia Mundial de Desarrolladores de Apple (WWDC), Touch ID y Face ID finalmente están disponibles en Safari a través de la API WebAuthn. Cuando se integren, estas funciones proporcionarán una experiencia fluida para su PWA y, a su vez, generarán una mejor experiencia de usuario.

Touch ID y Face ID en la Web
Fuente: WWDC

Posibilidad de cambiar el navegador predeterminado

A partir de iOS 14, los usuarios ahora pueden finalmente elegir diferentes navegadores como predeterminados . Este es (más o menos) un buen movimiento de Apple y una buena noticia para los usuarios de Apple en todas partes, ya que antes no era posible cambiar las aplicaciones predeterminadas. Pero aguanta tu caballo todavía, esto no significa que los usuarios de Apple puedan beneficiarse de todas las características emocionantes que traerán los diferentes motores de navegador web; de hecho, es lo mismo. Los navegadores de terceros todavía tienen la restricción de depender de WebKit de Apple como su motor de navegación subyacente , lo que significa que si bien sus nuevos navegadores web predeterminados pueden verse brillantes y diferentes en el exterior, nada cambia realmente en el interior.

Cambiar el navegador web predeterminado en iOS 14 beta
Puedes cambiar tu navegador web predeterminado con el nuevo iOS 14

Geolocalización para la Web

Entonces, ¿qué pasa con el estado de la API de geolocalización W3C en Safari? Bueno, hay algunos cambios que dan como resultado un mejor seguimiento de la ubicación, pero no como resultado directo de ninguna mejora realizada en la API de geolocalización del W3C. ¿Extraño? Sabemos. Profundicemos más en esto:

Cuando la ubicación precisa está habilitada por aplicación en el nuevo iOS 14 Beta, podemos hacer que Safari rastree nuestra ubicación aproximada:

Geolocalización en iOS 14 Beta

La ubicación aproximada solo la conoce el sistema operativo, y durante el proceso de análisis de este nuevo comportamiento de seguimiento de ubicación en iOS, nadie ha encontrado una respuesta concluyente sobre cómo el nuevo iOS 14 Beta 6 ofrece ubicaciones aproximadas a las PWA. Pero mirando los datos hasta ahora, parece prometedor. A continuación se muestra un ejemplo del trabajo de Flirt que utiliza Iguazú como ubicación de seguimiento.

Geolocalización en iOS 14 Beta
Imagen cortesía de Maximiliano Firtman

Como puede ver, la API determina y muestra con precisión la ubicación del sujeto. Suponemos que este impresionante resultado tiene algo que ver con los próximos cambios en la API de ubicación principal que se mostró en este video de WWDC2020.

Clips de aplicaciones: podría ser algo bueno

Con el nuevo App Clip, los desarrolladores pueden ofrecer una experiencia "similar a la instalación de PWA" simplemente mediante el uso de una metaetiqueta:

 <meta name="apple-itunes-app" content="app-id=myAppStoreID, app-clip-bundle-id=appClipBundleID, affiliate-data=myAffiliateData, app-argument=myAppArgument">

Puede imaginar que esta nueva función App Clip funcione de manera similar a la aplicación instantánea en Android, solo que está más enfocada en el escaneo NFC y QR, y en lograr que los usuarios finalmente instalen aplicaciones nativas.

Clips de aplicaciones en iOS
Nueva forma de llegar a las personas con App Clips
[Fuente: Sala de prensa de Apple]

¿Cuál es el potencial de esta nueva característica? No lo sabemos, pero podría ser un paso hacia las PWA instalables que tenemos en Android.

los males

Nueva galería de aplicaciones que ignora los PWA

La nueva biblioteca de aplicaciones es una característica automatizada que ordena y organiza su aplicación por uso de la aplicación, categorías, etc. Los PWA que se agregan a la pantalla de inicio ahora pueden tener la ventaja de aparecer en la pantalla de inicio del usuario y en la categoría Webclips, aunque este comportamiento no es consistente y está sujeto a cambios.

Biblioteca de aplicaciones en iOS
Los PWA aparecen automáticamente en Webclips en iOS Simulator.

En realidad, los primeros evaluadores descubrieron que las PWA se ignoran y no se muestran en absoluto en la nueva biblioteca de aplicaciones, ya sea en el grupo " Agregado recientemente " o " Sugerencias ". Entonces, si bien podría ser bueno que las PWA recibieran el mismo tipo de tratamiento que las aplicaciones nativas, esta sigue siendo una noticia impactante para nosotros, ya que no esperábamos que las PWA fueran simplemente ignoradas.

Sin cambios en la compatibilidad con el manifiesto de la aplicación web

Como era de esperar, no hay movimiento alguno por parte de Apple para presionar por el soporte de Web App Manifest. El estado de la compatibilidad con Web App Manifest sigue siendo Parcialmente compatible , lo que significa que no hay compatibilidad con icons , minimal-ui , fullscreen , orientation o theme-color .

Compatibilidad con el manifiesto de la aplicación web en iOS
Manifiesto de la aplicación web: parcialmente compatible
Fuente: WebKit

Barra de estado

Si bien sería bueno ver que iOS tome los valores del theme-color del Manifiesto de la aplicación web, mientras tanto, tendríamos que conformarnos con menos. Desde iOS 14 beta versión 5 en adelante, ya no podemos tener una barra de estado blanca y los únicos valores aceptados son black y black-translucent .

Barra de estado en iOS Beta 1 a 5
iOS 14 Beta 1 → 4 (arriba) e iOS Beta 5 (abajo)

los feos

Las funciones principales aún no son compatibles

Es una gran actualización, pero todavía falta algo. En su mayoría, probablemente tenga algo que ver con el hecho de que algunas características principales de PWA aún no son compatibles, y casi no hay movimiento de Apple para impulsar estas características:

  • Empuje web
  • Sincronización de fondo
  • Ciclo de vida de la página
  • Service Workers en WebViews (lo que significa que no hay PWA en Chrome, Firefox, Instagram o Facebook donde la navegación web no es el objetivo principal)
  • Enlaces Universales / Captura de Enlaces

Conclusión

¿Cómo te sientes acerca de todos estos cambios que se avecinan? En cuanto a nosotros, sentimos que nos quedamos con una nota decepcionante después de revisar todos los cambios. Hay algunos cambios, por ejemplo, Dominios vinculados a aplicaciones, Geolocalización, que parecen ser un paso en la dirección correcta, pero Apple realmente no se molestó en impulsar más funciones principales de PWA en esta actualización. Y tiene sentido, suponemos, ya que estamos hablando aquí de Apple, de quien siempre hemos sabido que está tan firmemente en contra de la Web.