Una PWA tal y como indican sus siglas, se trata de una aplicación web progresiva.
- Progresiva: Pueden aumentar en contenido y funcionalidad sin alterar la experiencia del usuario.
- Web: Se ejecutan sobre un navegador web (Chrome, Edge, Firefox..)
- Aplicación: Su comportamiento es muy parecido al de una aplicación.
Podríamos resumirlo como aplicaciones ejecutadas directamente en el navegador que tienen una experiencia similar a una aplicación nativa.
Es importante no confundir las aplicaciones PWA con las aplicaciones híbridas. Estas últimas despliegan la web en una aplicación nativa, ejecutándose en el sistema operativo nativo y obteniendo funcionalidades que podemos esperar de una aplicación nativa. En cambio, las aplicaciones PWA son ejecutadas directamente en el navegador con todo lo que conlleva.
Características de una PWA
Toda aplicación PWA debe cumplir las siguientes características:
Manifiesto: Se trata de un archivo con estructura JSON, muy sencillo. Este permite especificar varias características de como se va a visualizar la aplicación al ser instalada. Informaciones que contiene le manifiesto:
- Nombre (name y short_name)
- Icono (icons), lo que se ve en la pantalla de inicio o menú tras instalarla
- Colores (theme_color para la barra superior y background_color para la pantalla de carga de la App)
- Orientación (orientation), es decir, si la App se mostrará en horizontal o en vertical
- Descripción (description): breve descripción de la App
- URL que se iniciará al abrir la App (start_url)
- Display (display), con distintas configuraciones para la pantalla
Service Workers: Se trata de un script desarrollado en javascript que funciona detectando eventos. Requiere el uso de HTTPS. Funciona independienmente de la aplicación, en segundo planto y sin importa que esté cerrada. Gracias al Service worker, la aplicación puede ser utilizada sin conexión, ya que se guardan los datos en cache y hace un almacenamiento online. Además permiten las notificaciones push.
HTTPS: Todas las solicitudes de la PWA tienen que ir sobre el protoloco HTTPS, ya que tiene que funcionar sobre un protocolo de seguridad. Además, para la instalación del service worker termina siendo un paso fundamental, ya que estos almacenan mucha información, por lo que se debe navegar de forma cifrada para mantener la protección.
Ventajas de una PWA
Las ventajas de optar por una aplicación PWA frente a una aplicación web o una aplicación nativa, podemos resumirlas en los siguientes puntos:
- Son multiplataforma, accesibles desde cualquier navegador y sistema operativo.
- Permiten notificaciones push.
- No ocupan espacio en el dispositivo.
- Se pueden utilizar sin conexión a Internet gracias a su tecnología Service Worker.
- Su velocidad de carga es similar al de las apps nativas, superior a la de las aplicaciones web.
- Su navegación es sencilla, intuitiva e inmersiva, similar a la de las apps nativas.
- El usuario puede compartir almacenar datos en la propia app.
- Las actualizaciones se realizan automáticamente, sin molestias para el usuario.
- Su diseño responsive se adapta a cualquier dispositivo.
- No requiere desarrollar una programación para cada sistema operativo.
- Utilizan un protocolo seguro TLS (Transport Layer Security).
- Se puede guardar un acceso directo en la pantalla de inicio del móvil como en las apps nativas.
- Se localizan utilizando un buscador o código QR, sin buscar en la store, aumentando la presencia de la app.
Desventajas de la PWA
Las desventajas son mínimas, pero dependiendo del alcance del desarrollo que pueden volver críticas:
- No pueden acceder a todas las funcionalidades de los dispositivos, como lista de contactos o utilidades avanzadas de la cámara.
- No pueden acceder a todo el hardware del dispositivo móvil de la manera en la que si puede hacerlo una aplicación nativa.
- Por el momento, no todos los navegadores son compatible con las PWA, por lo que una parte de usuarios todavía no puede acceder a ellas.
- Las PWA son idóneas para desarrollar una app adaptada a dispositivos móviles y accesible pero su tecnología aún no permite crear sitios muy complejos.
Conclusión
Una vez vistas las ventajas y desventajas de las PWA, todo apunta a que el futuro de las PWA es prometedor, y a medida que vaya avanzando esta tecnología, puede que, en un futuro, el mayor porcentaje de desarrollo de aplicaciones vaya orientado en esta línea.
Si estás interesado en el desarrollo de aplicaciones PWA, es posible que también quieras considerar el uso de React JS en tu proyecto. React es una biblioteca de JavaScript muy popular y eficiente que te permitirá crear interfaces de usuario interactivas y eficientes para tu aplicación PWA.
Si estas interesado en este tipo de aplicaciones a medida adaptado a tus necesidades puedes ponerte en contacto con nosotros a través de este link.