¿Qué son las aplicaciones web progresivas y cómo se comparan con las aplicaciones nativas?

Como amante de la tecnología, probablemente te has encontrado con un artículo que menciona las aplicaciones progresivas, lo geniales que son, que son el futuro de las aplicaciones y que todos los sitios deberían tener una.
Pero, ¿qué son exactamente las aplicaciones progresivas? Las aplicaciones progresivas no son completamente diferentes de las aplicaciones web estándar, pero hay conceptos específicos que los desarrolladores deben cumplir.
¿Qué son las aplicaciones web progresivas?
Las aplicaciones web progresivas (PWA) son aplicaciones web que viven en tu navegador y están hechas de CSS, HTML y JavaScript. También puedes ver una PWA como un cruce entre un sitio web móvil y una aplicación. En otras palabras, es un híbrido.
Las PWAs utilizan tecnologías web modernas, y los desarrolladores pueden crear sitios que ofrecen al usuario una experiencia similar a la de una aplicación móvil, así como un mejor rendimiento, mayor seguridad y tiempos de carga más rápidos. Son un sitio web normal, pero se ven como una aplicación para los usuarios.
También utilizarán los estándares web más actuales y están diseñadas para funcionar correctamente y rápidamente en casi cualquier navegador.

Las aplicaciones web progresivas también se cargarán instantáneamente, independientemente de cuán lenta sea tu conexión a Internet. Incluso puedes usar las aplicaciones si no hay conexión a Internet, solo sin el contenido dinámico.
Cómo usar una aplicación web progresiva sin conexión
Para usar una aplicación progresiva sin conexión, necesitarás tener algunas funciones experimentales de Chrome activadas. Escribe en la barra de direcciones de Chrome los siguientes comandos: chrome://flags/#bypass-app-banner-engagement-checks

En la parte inferior deberías ver el botón “Reiniciar ahora”. Haz clic en él y la próxima vez que visites un sitio que utilice aplicaciones progresivas, se te pedirá que lo instales.
Por ahora, las aplicaciones web progresivas no funcionarán en Safari/iOS. Esto significa que no podrás disfrutar del modo sin conexión, las notificaciones push ni la instalación en la pantalla de inicio. Esperemos que Apple adopte pronto las aplicaciones progresivas.
Un ejemplo de una aplicación web progresiva es el sitio de Twitter. Hace lo que una aplicación web progresiva debería hacer: tiene un aviso de “Agregar a la pantalla de inicio”, reduce el consumo de datos y tiene una carga casi instantánea con scripts de service worker.
Seguridad de las aplicaciones progresivas
Dado que viven en tu navegador, no hay necesidad de una tienda de aplicaciones, y siempre utilizarán HTTPS para mayor seguridad. Si un sitio no funciona con HTTPS, no puede calificar como una aplicación progresiva. El sitio debe tener un certificado SSL o TLS instalado en el navegador.

Una aplicación progresiva está lista para cualquier dispositivo; no importa si es un teléfono, tableta, computadora, etc. Dado que las aplicaciones progresivas se crean en un modelo de shell, disfrutarás de una navegación e interacciones al estilo de una aplicación.
No tendrás que preocuparte por usar una aplicación desactualizada, ya que el proceso de actualización del service worker mantendrá el contenido actualizado. Las aplicaciones progresivas se pueden compartir fácilmente a través de URL, y puedes mantenerlas en tu pantalla de inicio sin depender de una tienda de aplicaciones.
También se pueden agregar a la pantalla de inicio de tu móvil y pueden enviar notificaciones push. Las aplicaciones web progresivas también son un beneficio para las empresas que las utilizan, ya que ayudan a reducir el tiempo y los costos de mantenimiento.
Firefox ha seguido el ejemplo de Chrome, y con Firefox 58, podrás disfrutar de aplicaciones web progresivas. Si te encuentras con un sitio que tiene un manifiesto válido y que se sirve a través de HTTPS, deberías ver una insignia en la barra de direcciones.
Cuando la selecciones, verás un mensaje que dice “Agregar a la pantalla de inicio”. No perderás ningún progreso que hayas hecho en un sitio si tocas un enlace externo cuando inicias la aplicación desde tu pantalla de inicio.
PWAs vs. Aplicaciones nativas
Las aplicaciones web progresivas son mejores que las aplicaciones nativas, ya que los desarrolladores ya no tendrán la necesidad de crear aplicaciones para múltiples plataformas. Esto ahorrará a los desarrolladores una gran cantidad de tiempo y dinero, sin mencionar los ahorros económicos también.
Los desarrolladores solo tendrán que crear una aplicación que funcione en todas las plataformas y dispositivos actuales. Con las aplicaciones web progresivas, no tienes que instalar nada antes de usarlas, a diferencia de las aplicaciones nativas.
Si bien las PWAs son geniales, tienen sus desventajas, ya que todavía son relativamente nuevas. Por ejemplo, tienen capacidades limitadas al intentar integrarse con las características de tu tableta o teléfono inteligente.
Todavía no pueden integrarse con características como Bluetooth, el sensor de huellas dactilares, el acelerómetro ni NFC. Por ahora, las aplicaciones nativas son más confiables que las PWAs, pero el tiempo dirá cómo termina esa historia.
Las PWAs y las aplicaciones nativas no son tan diferentes entre sí. Por ejemplo, ambas se lanzan en la pantalla de inicio y proporcionan una experiencia/interfaz de usuario web muy similar.

Las limitaciones de las PWAs
Las aplicaciones web progresivas se supone que son la próxima gran cosa, pero tienen sus desventajas. Por ejemplo, no funcionan en todos los navegadores como Edge, Safari, Internet Explorer y otros navegadores personalizados. Las PWAs funcionan en versiones más nuevas de navegadores como el navegador de Android de Samsung, Opera y Chrome.
La limitación también afecta a los dispositivos, ya que no todos pueden soportarlas. Android sí soporta PWAs, pero hay algunos problemas de soporte ya que todavía es relativamente nuevo.
iOS actualmente no soporta PWAs ya que tiene problemas para soportar notificaciones y avisos de acceso directo en la pantalla de inicio del dispositivo. Hasta ahora, Apple no ha anunciado oficialmente si adoptará las PWAs o no en un futuro cercano.
Si los inicios de sesión entre aplicaciones son importantes para ti, entonces quizás quieras evitar las PWAs. No las soportan ya que no pueden recopilar datos de manera independiente.
Conclusión
Las aplicaciones progresivas todavía son relativamente nuevas, y hay empresas que aún se están ajustando o al menos pensando en ello. Definitivamente son el futuro, ya que solo ayudarán a mejorar la experiencia móvil del usuario.
¿Crees que las aplicaciones progresivas han llegado para quedarse, o se desvanecerán? Comparte tus pensamientos en los comentarios.