Contexto
Últimamente se habla mucho de
las PWAs (Progressive Web Apps), pero ¿qué son? Antes de nada, contextualicemos. Estos últimos años se ha debatido ampliamente sobre qué tiene más futuro, el desarrollo de aplicaciones móviles o web.
Gracias al estudio del 2015 de Morgan Stanley Research hay
datos (si bien demasiado dramáticos)
que dicen que la web sobrevivirá. Es más, que es el futuro. Pero para seguir
siendo relevante, Google y otros navegadores necesitan promocionar la navegación web desde el teléfono y mejorar todo lo posible la
experiencia.
Una de esas tecnologías son
las aplicaciones web progresivas. Las PWAs pretenden conseguir una experiencia
veloz y semejante a la que el usuario pueda experimentar en una app. Buscan
desdibujar los límites entre web y app,
manteniendo las ventajas (y tráfico)
de la web.
Este concepto, que inicialmente fue planteado para el iPhone
del 2007 pero fracasó, a día de hoy puede implementarse con éxito usando el desarrollo híbrido de aplicaciones y alguna herramienta
como Apache Cordova que permite convertir web móvil la
app nativa.
Sin embargo, esto no es exactamente el concepto de las PWAs:
estas deberían funcionar sobre el
navegador de la misma manera que una app, sin necesidad de “transvases”.
¿Cómo funcionan?
Las PWAs están diseñadas para cargar de manera “instantánea”. Para lograr esto, el buscador
necesita tener un script que se conoce como Service
Worker. Este script se encargar de eliminar los pasos que normalmente se
requerirían para acceder a determinada
información desde la web.
Ya que las PWAs usan más parámetros, también consiguen una experiencia personalizada, basada en los
intereses de usuario, y un diseño más cercano al de las apps.
Las PWAs guardan la web que se esté cargando en local y la ponen en una App Shell. Desde ahí
solamente se subirá el contenido a medida que se
vea necesario. Es el Service Worker
el que se encarga de ir subiéndolo
todo (CSS, imágenes, JavaScript…) a medida que sea necesario. Ya que la
mayoría de elementos necesarios
para la página están almacenados localmente, la página cargará muy rápido.
Dado que no es preciso descargar nada, acceder a las PWAs es
fácil. Además del acceso sin problemas desde el buscador se podrá entrar aun estando offline porque
quedan los datos en caché.
Enfoque
Google, que lleva intentando propulsar este tipo de concepto
desde hace años, ha publicado recientemente una lista de características,
un punto de referencia, para crear PWAs. Además, han
publicado una herramienta, Lighthouse, disponible como extensión para Chrome, que comprueba de
manera automática si se cumplen la mayoría de los elementos del estándar. Los elementos básicos
serían:
- La web deberá funcionar sobre HTTPS
- Las páginas deberán ser responsive para todo tipo de aparatos.
- Al menos la página principal deberá cargar offline.
- Deberán añadirse metadatos que permitan que el usuario ancle la página en su pantalla de inicio en el teléfono.
- Carga veloz, incluso en 3G. Deberá conseguirse interactividad en <10s.
- La web deberá funcionar en distintos buscadores (sugeridos como prueba Chrome, Firefox, Safari y Edge).
- Las transiciones entre páginas deberán ser suaves y rápidas (incluso con conectividad mala).
- Cada página deberá tener una URL
Además de
esta lista básica, han compilado otra
serie de requisitos que de convertirían la
PWA en una PWA modelo. Esta lista, mucho más
larga, incluye factores para mejorar el posicionamiento, la experiencia del
usuario, el rendimiento, el almacenamiento y el sistema de notificaciones entre
otros.
Conclusión
Las PWAs ofrecen muchas mejoras visibles, ¿podrían ser
más que la buzzword del año y ser
realmente el futuro? El tiempo dirá, pero
mientras tanto, parece que vale la pena ponerse al día con ellas.
¡Comentadnos vuestras
opiniones sobre el asunto!