En la actualidad, el mercado de las aplicaciones móviles sigue creciendo. Tal vez se deba a que continuamente se mejora la tecnología de los dispositivos móviles, pero no sólo eso, también se mejoran tecnologías que están relacionadas con la web y la conectividad de dichas aplicaciones.
Como desarrollador, tienes opciones al momento de crear una aplicación. Todo depende del propósito de dicha aplicación, los lenguajes y tecnologías que quieras emplear, así como el presupuesto del proyecto. Sin embargo, hace un par de años ha surgido una nueva iniciativa promovida por Google llamada las aplicaciones web progresivas. En este artículo exploramos qué son y cuáles son sus principales características.
¿Cuáles son las posibles opciones en el desarrollo de aplicaciones?
Dentro del campo de desarrollo de aplicaciones, existen tres posibilidades en su creación: aplicaciones nativas, híbridas y web. Cada una de estas aplicaciones tiene sus ventajas, desventajas, así como una tecnología específica que se emplea para su desarrollo.
Las aplicaciones nativas son aquellas que han sido desarrolladas para un sistema operativo específico, por lo tanto aprovechan todas las características propias y funcionalidades de los dispositivos que hacen uso de iOS o Android, según corresponda. La experiencia de usuario suele ser superior en este tipo de aplicaciones, pero los costos se ven incrementados ya que es necesario crear aplicaciones para cada sistema operativo.
Por otro lado, las aplicaciones híbridas hacen uso de los estándares de desarrollo web para estar disponibles en diferentes dispositivos y sistemas operativos. Ya que se desarrollo un solo entorno y se permite la adaptación del mismo a diferentes sistemas operativos, estas aplicaciones suponen un menor costo de desarrollo. Una de sus principales desventajas es que su rendimiento es ligeramente inferior al de las aplicaciones nativas, al igual que la experiencia de usuario.
Por último, las aplicaciones web, como su nombre puede indicar, son aquellas a las que se accede por una URL en un navegador web y se adapta al formato de la pantalla para que simule el entorno de una aplicación. Ya que se encuentra disponibles a través de la web no es necesario que usuario instale nada y no se encuentran en el mercado de aplicaciones respectivo según el sistema operativo. A pesar de ser una de las más económicas en lo que respecta a su desarrollo, la experiencia de usuario no es comparable a las dos opciones mencionadas previamente.
¿Qué son las aplicaciones web progresivas?
Como ya hemos visto previamente, las aplicaciones web parecen ser una de las opciones con desventajas mucho mayores. Claro, el costo es menor, pero si se toma en cuanta que no es necesaria su instalación y por lo tanto no se puede realizar una estrategia de marketing o contar con estadísticas por parte del mercado de aplicaciones, entonces no es una gran opción para muchas empresas. Especialmente cuando la competitividad en el mercado de aplicaciones es tan elevado.
Por suerte, Google estableció la iniciativa de las aplicaciones web progresivas o PWA, siglas de su nombre en ingles “Progressive Web Apps”. Fue en el 2015 que Frances Berriman y Alex Russel acuñaron este término para hacer referencia a aplicaciones que aprovechan nuevas características compatibles con navegadores modernos. Sería un año más tarde, en la conferencia Google I/O 2016 que Alex Russel dio una visión más clara sobre las ventajas y características de las PWA.
De la definición dada por Russel se pueden desprender las siguientes ideas:
- Rendimiento superior de aplicaciones web en dispositivos móviles
- Interfaz parecidas a la de las aplicaciones nativas
- Uso offline
- Envío de notificaciones
Todas estas ventajas suenan bastante atractivas y es seguro que si Google sigue promoviendo este tipo de aplicaciones, solo sea cuestión de tiempo antes de que otras desarrolladores opten por crear aplicaciones web progresivas.
¿Cuáles son las nuevas tecnologías que utilizan las aplicaciones web progresivas?
Como ya se indicó en un punto anterior las aplicaciones web progresivas hacen uso de las últimas tecnologías desarrolladas para los navegadores modernos. Pero, ¿cuáles son estas tecnologías? ¿cómo su uso puede favorecer a lograr los objetivos de las PWA?
- Responsive Web Design que permite adaptar páginas web a diversos dispositivos que poseen diferentes tamaños de pantalla.
- Service Workers para ejecutar servicios en segundo plano en los navegadores. Son independientes a la aplicación (es decir, funcionan incluso si la aplicación está cerrada).
- App Shell que es un patrón de desarrollo que consiste en separar la aplicación entre funcionalidad y contenido para poder cargar ambos por separado. De esta forma, se puede mejorar el tiempo de respuesta.
- Manifiesto de aplicación que es un archivo que sirve para poder cambiar la configuración de la aplicación Android
Estas son las 4 principales tecnologías que se emplean para poder lograr todos los objetivos que se plantea una aplicación web progresiva.
¿Cuáles son las características de estas aplicaciones?
En el sitio oficial de Google se listan las 10 características clave de toda PWA. Te las mencionamos a continuación:
- Son seguras. Uso de HTTPS para mejorar la seguridad que ofrecen las aplicaciones web estandarizadas.
- Son progresivas. Funcional para cada usuario, sin importar el navegador pues su principio es la mejora progresiva.
- De diseño responsive. Disponible para ordenador, tablet, móvil o cualquier otro dispositivo.
- Funcionan independientemente de la conectividad. Capacidad de trabajar sin conexión o con poca conectividad.
- Se encuentran actualizadas. Siempre se mantiene actualizada gracias a los Service Workers.
- Son como apps. Tanto su aspecto, navegación e interacciones son comparables con las de una app.
- Son localizables: Se identifica como aplicaciones debido a que pueden ser encontradas por motores de búsqueda.
- Aceptan instalación. Los usuarios pueden mantener aplicaciones en la pantalla de inicio, tal como si se tratara de una aplicación nativa.
- Permiten acciones de re-engagement. Mantiene el interés y compromiso de los usuarios mediante características como notificaciones
- Son enlazables. Se pueden compartir fácilmente mediante su URL.
En conclusión…
Las aplicaciones web progresivas son una tendencia de desarrollo reciente y probablemente tome un par de ellos descubrir si se mantiene. El concepto que posee es interesante y sin duda atractivo para muchos desarrolladores, sin embargo, ya que se utilizan las tecnologías de navegadores modernos, tal vez algunos usuarios no tengan acceso a estas aplicaciones. La tendencia tendría que hacerse lo suficientemente popular para que un número mayor de navegadores opten por implementar estas nuevas tecnologías y así permitir la ejecución de aplicaciones web progresivas.