¿Aplicación o web? Ambos en uno con PWA
2017/03/01 Leturia Azkarate, Igor - Informatikaria eta ikertzaileaElhuyar Hizkuntza eta Teknologia Iturria: Elhuyar aldizkaria
Desde que los dispositivos móviles tienen internet es posible navegar por la web con ellos. Sin embargo, en la actualidad casi cualquier organización o empresa que disponga de una página web o de un servicio web ha desarrollado una aplicación para poner a disposición de los usuarios los servicios o contenidos que también existen en la web. Sin embargo, hay quien opina que ese no es el camino a seguir.
Tal y como os comentamos en un artículo escrito en este apartado en 2011, las webs tienen ciertas ventajas: por un lado, todas ellas utilizan protocolos y estándares abiertos; por otro, elaboran una web única que funcionará en cualquier dispositivo con Android, iOS o sistema operativo.
Quienes defienden las aplicaciones también tienen sus argumentos. Una de ellas es que una web no puede hacer cosas que una aplicación pueda hacer. A pesar de que las tecnologías HTML 5 y similares permiten que las webs hagan cada vez más cosas, todavía hay cosas que no pueden hacer: mostrar notificaciones fuera del navegador, aunque estemos offline la rápida apertura inicial…
¿Quién tiene razón? La verdad es que todos. Es innegable que las Webs no pueden hacer algunas cosas que las Apps pueden hacer y por eso han tenido éxito, aunque es necesario hacer una versión para cada uno de los principales sistemas operativos. En cualquier caso, además de las aplicaciones, es necesario crear una página web para el público que accede desde el ordenador.
Webs que parecen aplicaciones
Precisamente, hace casi dos años, Google propuso la tecnología Progressive Web App o PWA con el objetivo de solucionar los inconvenientes de las webs en los móviles frente a las aplicaciones. En su opinión, el objetivo era “conseguir una experiencia de usuario de aplicación con webs”. En definitiva, esta tecnología consiste en añadir a los navegadores ciertas características para que puedan ser utilizados por las webs. De esta forma se pueden aprovechar mejor las posibilidades que ofrecen los dispositivos móviles.
Los llamados Service workers son una de las principales características de la tecnología PWA. Son fragmentos de código Javascript que se ejecutan en el background o en el reverso. Una de las cosas que pueden hacer es, por ejemplo, descargar y almacenar en el local los datos que necesita nuestra web cuando tenemos conexión a Internet. De este modo, el sitio web, aun cuando no disponga de conexión a Internet, puede funcionar como si lo tuviera, es decir, le permitiría caminar offline.
Además, podemos determinar qué contenidos componen el esqueleto o contenido fijo de la web, el service worker lo guardará en el local y así, en las siguientes ocasiones, la web se abrirá rápidamente como las aplicaciones. Y a través de estos service workers se puede conseguir que las notificaciones fuera de la web se muestren en el dispositivo, como lo hacen las aplicaciones.
Los PWA también son instalables. Si entramos por segunda vez en una web que utiliza esta tecnología y han pasado más de 5 minutos desde la anterior (no me preguntes por qué ese tiempo! ), nos permitirá instalarlo y, en caso afirmativo, en el escritorio se colocará un icono como el de cualquier otra aplicación.
Por lo tanto, una web que utiliza tecnología PWA puede hacer casi todo lo que una aplicación puede hacer. Pero además tiene ventajas que las aplicaciones no tienen. Por un lado es enlazable, ya que como cualquier web tiene una URL y cualquier página dentro de ella. Por otro lado, los buscadores pueden indexarlo y detectarlo como una aplicación instalable. Además se pueden instalar sin pasar por la tienda de aplicaciones. Y por último, el único desarrollo es suficiente para tener una web y una aplicación que funcione en cualquier dispositivo.
Existen varios casos de éxito de la tecnología PWA. Algunos de ellos se pueden ver en https://pwa.rocks/. Por ejemplo, el conocido sistema de mensajería Telegram tiene un PWA que se puede ejecutar tanto en el ordenador como en la web, así como los servicios de la revista personalizada Flipboard. Y las tiendas online Flipkart de la India y Alibaba y AliExpress de China afirman que la aceleración de velocidades por la conversión de la web a tecnología PWA les ha traído una gran fidelidad y aumento de ventas.
Es previsible que cada vez se amplíen más las webs PWA y que poco a poco todas pasen a ella. El problema es que no todos los navegadores están implementando tecnologías PWA. Los navegadores que son de software libre o que siguen protocolos y estándares abiertos han sido implementados o están en ello (Firefox, Chrome y Opera), pero Apple y Microsoft no, cualquiera sabe por qué. Bueno, seguramente será la tecnología propuesta por Google, las competencias. En el caso de Apple, otra de las razones principales es que los PWA se pueden instalar sin pasar por la tienda. Se sabe que Apple cobra un porcentaje por cada aplicación que se compra e instala a través de su tienda. En cualquier caso, convertir un sitio web en PWA no significa que no funcione en Explorer, Edgen, iPhone o Safari, lo cierto es que en ellos no podrá beneficiarse de las ventajas de PWA.
Así, no hay excusas para que nuestra web no se convierta en PWA: al menos, la web funcionará más rápido en Android y en ordenadores, y para Android no tendremos que desarrollar ninguna aplicación, y si queremos, sólo tendremos que hacer la aplicación para iOS o teléfonos Windows, y con suerte, si Microsoft y Apple cambian de actitud en un futuro no. ¡PWA único para gobernar a todos!
Gai honi buruzko eduki gehiago
Elhuyarrek garatutako teknologia