Las Progressive Web Apps se pueden implementar y funcionan perfectamente en Android, Windows y MacOs.
La Progressive Web App también se puede implementar en iOS (iPhones y iPads) pero con una serie de limitaciones puestas por Apple que hay que tener en cuenta.
En esta entrada revelaremos cuáles son dichas limitaciones y a qué son debidas.
Pero primero, para entender el contexto, vamos a hacer un breve repaso al nacimiento de las PWAs.
¡Vamos allá!
Hablar de las limitaciones que tienen las Progressive Web Apps en iOS es cuanto menos irónico porque cuando Apple lanzó el iPhone en 2007, las primeras aplicaciones estaban basadas en HTML5.
En aquel entonces no contaban con una tienda oficial de aplicaciones como es actualmente iTunes.
Es por ello que en el navegador web Safari, en su versión para iOS, incluyeron una serie de metatags que permitían instalar manualmente un acceso directo a la web, a través de un icono, en la pantalla de inicio del iPhone.
Así que podemos decir que Apple fue la primera plataforma que presentó y apoyó la idea de las aplicaciones web.
Pero no trabajaron mucho más en la experiencia y lo dejaron abandonado.
Motivo de ello es porque se centraron en mejorar el rendimiento de las aplicaciones nativas para iOS porque vieron que era lo que le daba beneficios.
Más tarde, en 2015, los ingenieros de Google Chrome retomaron la idea original de Apple y la unieron con las oportunidades que les daban los navegadores más modernos.
Incluyeron el Service Worker y el Manifest Web App (si no estás familiarizado con estos términos, echa un vistazo a esta entrada) y definieron el resultado con el término de Progressive Web App.
Google realizó esfuerzos importantes para promover el desarrollo de las PWAs para Android y progresivamente las empresas decidieron experimentar con ellas, también propiciado por la tendencia al alza en el uso de dispositivos móviles.
Alibaba, Forbes, Twitter, AliExpress... son solo algunos ejemplos de empresas que integraron una Progressive Web App o PWA y vieron una mejora significativa en los resultados.
Las aplicaciones web ofrecen la experiencia de las aplicaciones y lo combinan con las ventajas de los entornos web, consumiendo menos datos y proporcionando un consumo del contenido más rápido y eficaz.
No es de extrañar que las marcas líderes decidieran adoptar esta tecnología, dado que son conscientes de que deben proporcionar la mejor experiencia móvil al usuario.
Así, las Progressive Web Apps se convirtieron en una oportunidad de crecimiento para todas las empresas. Y es por ello que Apple decidió volver a prestarle atención.
En Abril de 2018, Apple introdujo sigilosamente las PWAs con la actualización iOS 11.3.
Fue un gran paso en el mundo de las Progressive Web Apps porque los desarrolladores de Apple permitieron que los Service Workers, uno de los dos ingredientes cruciales de una PWA, estuvieran disponibles para iOS.
Esto permitió a los desarrolladores declarar qué parte de una PWA debía almacenarse en caché, permitió que los sitios web ejecutaran JavaScript en segundo plano (mejorando así el rendimiento general de la App) y también la hizo accesible sin conexión a Internet.
No obstante, como hemos indicado anteriormente, hay funciones de la PWA que aún a día de hoy siguen sin estar disponibles en iOS.
Vamos a ver cuáles son.
Las limitaciones que actualmente tiene la Progressive Web App en iOS son las siguientes:
Hay varias razones por las que creemos que Apple ha limitado las Progressive Web Apps en iOS.
En primer lugar, Apple no quiere que las PWAs compitan con su propia tienda AppStore, donde los usuarios pueden descargar versiones oficiales de las Apps.
También influye que a Apple le gusta vetar las aplicaciones malas de la tienda de aplicaciones para mantenerla lo más limpia posible, y este poder de censura no puede tenerlo con las PWAs porque su instalación no pasa por AppStore.
No obstante, vemos que Apple cada vez añada más funciones en las Progressive Web Apps para iOS, por lo cual parece que ha recapitulado en su impresión por esta tecnología.
Después de los Service Workers, sabemos que por el momento los desarrolladores de Apple están trabajando para dar soporte del Web App Manifest en Safari.
Este archivo es el que proporciona información sobre una aplicación, por ejemplo su nombre, el autor, la descripción de la App, el icono que se mostrará cuando se instale la PWA, la pantalla de inicio, el color, el formato de visualización (vertical u horizontal), etc.
Por tanto, dar soporte del Web App Manifest en iOS permitiría, entre otras cosas, forzar la orientación de la pantalla cuando se utiliza la PWA en el modo de pantalla completa (es decir, cuando se ejecuta la PWA desde el icono en la pantalla de inicio), integrar un sistema o botón que invite al usuario a instalar la PWA (como pasa en Android) o por ejemplo construir una pantalla de inicio cuando se ejecute la PWA (en Android, esta pantalla está construida a partir del icono de la App, de su nombre y de un color del fondo).
Veremos si en las próximas actualizaciones de iOS se añaden estas nuevas funciones en las PWAs.
Por supuesto, os mantendremos informado de cualquier novedad.