Desde la llegada de los dispositivos inteligentes, una gran cantidad de la población ha recurrido a la navegación por medio de su equipo celular. Muchas páginas ya cuentan con un diseño responsivo para que su sitio web se vea correctamente; cuando esto no alcanza la expectativa de los usuarios, se opta por una aplicación nativa. Esto a vista del negocio supondría un gasto, ya que casi siempre se necesita más de un programador para diseñar la app; es por ello que surge la opción de una Aplicación Web Progresiva o por sus siglas en inglés, PWA.
¿Qué es una PWA?
Una PWA, Progressive Web App, es una metodología de desarrollo de aplicaciones web enfocada a ser utilizada principalmente a dispositivos móviles.
Para que nos pueda quedar un poco más claro, partiremos primeramente en lo que NO es una PWA.
Una PWA no es:
- Un Framework como Angular, Vue, o React.
- Design responsive o diseño responsivo; se utiliza, pero al ser enfocado más a dispositivos móviles, se dará más prioridad a la vista en móviles que a escritorio.
- Una extensión para el navegador.
- Un plugin o librería ya que, como bien mencionamos, PWA es una metodología.
- No es parecido a React Native, Ionic u otra tecnología que nos permite crear aplicaciones móviles.
Características de las PWA
Ahora te presentamos las características que engloba esta metodología de PWA; estas pueden estar presentes o no, todo depende de la finalidad de nuestra aplicación web. Mencionaré las más representativas.
- Usa Características nativas del dispositivo, como pueden ser las notificaciones, la cámara, el gestor de archivos, entre otras, dependiendo de la disponibilidad del equipo móvil.
- Uso sin internet al guardar datos en la memoria caché, memoria temporal; incluso poder crear pequeñas base de datos.
- Casi indiferenciable de una app nativa, debido a que las PWA se enfocan a ir agregando las funciones que actualmente cuentan las aplicaciones nativas; por ello la palabra progresiva, ya que están diseñadas para ir progresando con el tiempo e ir agregando nuevas características.
- Siempre actualizadas, ya que estamos hablando de algo Web, siempre que contemos con una conexión a internet podremos estar seguros que tendremos la última versión.
- Pesan muy poco, algunas veces nos cuesta descargar alguna aplicación nativa, solamente para realizar una acción en el momento, es por ello que una PWA es buena opción.
- Rapidez, no necesitan descargar más de una vez la misma información estática, como los menús o la información de las opciones de algún formulario.
- Seguras, al utilizar la tecnología de los Service Worker, estas deberán ser servidas bajo un protocolo HTTPS; esto nos asegura que toda información puede ser descargada y enviada de forma segura a través de internet.
¿Cómo identificarlas?
Si nos encontramos en dispositivos móviles, Android en particular, podremos observar que la barra del navegador se torna de un color distinto, esto nos indica que hace uso de “Service Worker”. Ahora, si también nos da la opción de instalar o agregar a la pantalla principal, seguro estamos hablando de una PWA.
En equipos de cómputo también podremos “Instalar” estas PWA; en Google Chrome aparecerá un signo de más (+) que nos indicará que podremos instalar esta PWA.
¿Cuándo es mejor una PWA que una Nativa?
Para decidir entre una u otra, existen dos tipos de perspectivas: la de un usuario y la perspectiva empresarial.
La de usuario
Un usuario siempre se dejará guiar por lo más cómodo, en este caso se toman en cuenta estos puntos.
- El peso de la aplicación, muchos usuarios buscan que sus aplicaciones instaladas usen el menor espacio de almacenamiento posible.
- El uso, si un usuario desea usar una aplicación, digamos un scanner QR, puede que sólo la use una vez a la semana, es por ello que conviene mas una PWA; en cambio si la usa seguido, es factible que opte más por la aplicación nativa, aunque esta pese más.
La de empresa
Una empresa lo que busca principalmente es generar ganancias, por ello estos puntos serán de su beneficio al optar por desarrollar una PWA
- Costos menores, ya que no deja de ser una aplicación Web ahorras al no contratar un desarrollador móvil para cada SO.
- La comodidad del usuario, esto depende mucho de su meta; si suele ser de usos no constantes como lo son las redes sociales, es recomendable un PWA de tienda Online o atención al cliente.
- Complejidad de los procesos, una PWA es buena si sus procesos se enfocan únicamente al envío y recepción de información; cuando se genera mucho procesamiento de datos por parte del cliente, se recomienda una Nativa, haciendo uso del procesador del dispositivo.
- Menos complicaciones para las mejoras, esto se debe a que toda actualización se realiza del lado del servidor; el cliente solo deberá estar conectado a internet para que su PWA esté al día de las novedades.
Podemos concluir entonces que las PWA son una alternativa a las aplicaciones nativas; esta tecnología se utiliza para la creación rápida y sencilla de aplicaciones poco complejas, que funcionen en todos los dispositivos móviles sin necesidad de dejar todo el presupuesto en una aplicación móvil costosa.
Les recomiendo esta charla en donde se habla más del tema, por parte de la comunidad de Corderos. Desarrollo de PWA.