¿Qué son las aplicaciones Web progresivas?


raul vittor alfaro aplicaciones web progresivas


¿Alguna vez has deseado que las aplicaciones web se comporten más como aplicaciones reales? Las aplicaciones Web progresivas son una nueva tecnología que tiene como objetivo hacer que eso suceda.

La versión corta: ¿Qué son las aplicaciones Web progresivas?

Aquí está el resumen rápido: Google, Microsoft, Mozilla y otras compañías están trabajando en un nuevo y moderno estándar de aplicaciones web. Incluso Apple está siguiendo e implementando soporte para ello. Estas aplicaciones son aplicaciones web, pero se comportan más como aplicaciones nativas. Al igual que las aplicaciones web existentes, se alojarán directamente en su sitio web asociado. Los desarrolladores pueden actualizarlos directamente en su servidor web sin tener que enviar esas actualizaciones a varias tiendas de aplicaciones diferentes, y la misma aplicación se ejecutará en todos los navegadores y plataformas.

Cuando instale una aplicación web progresiva, obtendrá una pantalla de inicio, una barra de tareas o un acceso directo al escritorio que iniciará la aplicación (dependiendo de su plataforma). La aplicación se cargará rápidamente e incluirá soporte offline, notificaciones push, soporte de sincronización en segundo plano y otros servicios modernos.

Estas aplicaciones también pueden utilizar las tecnologías web existentes para acceder a los servicios de localización, a la cámara web y a otras funciones que normalmente asociamos con las aplicaciones nativas. Por supuesto, las aplicaciones tienen que pedirte y obtener tu permiso antes de acceder a estas cosas.

La versión técnica: ¿Cómo funcionan?

Las aplicaciones Web progresivas son aplicaciones Web tradicionales que se mejoran con las tecnologías Web modernas, lo que les permite ofrecer una experiencia más parecida a la de las aplicaciones. La parte "progresiva" significa que son "mejorados progresivamente" con características web modernas, lo que significa que también funcionarán en navegadores más antiguos que no soportan las nuevas características, pero funcionarán mejor y con más características en los navegadores modernos.

Estas aplicaciones tendrán su propia ventana y acceso directo en la barra de tareas (en Windows 10 y cualquier cosa que ejecute Chrome) o un icono en la pantalla de inicio (en dispositivos Android y otros smartphones). Al abrirlos, se cargarán rápidamente gracias a la API de caché y a IndexedDB, que almacena los recursos y datos de la aplicación en el dispositivo, lo que les permite funcionar incluso cuando están desconectados. Tecnologías como los trabajadores de servicios y las notificaciones push permitirán a la aplicación realizar tareas en segundo plano, como la sincronización y el envío de notificaciones incluso cuando no se estén ejecutando, como una aplicación nativa. La API de obtención de datos facilita y agiliza la solicitud de datos por parte de la aplicación. Tienen un archivo Web App Manifest, que proporciona un nombre, icono, autor y descripción que se utiliza al instalar la aplicación en la pantalla de inicio o en el escritorio. Siempre se sirven a través de HTTPS cifrados, lo que significa que son seguros y que los datos no se pueden manipular durante el transporte.

Las aplicaciones web progresivas no son como las Chrome Packaged Apps de Google o las Hosted Web Apps de Microsoft. Éstos requerían que la aplicación fuera "empaquetada" como un archivo y enviada a una tienda de aplicaciones. Toda la aplicación vivía en un pequeño paquete sin conexión, y los usuarios tenían que instalarla desde Chrome Web Store o Windows Store. Estos también eran específicos de la plataforma, y sólo funcionaban en Chrome o Windows. El desarrollador tuvo que cambiar los archivos de la aplicación fuera de línea y enviar una nueva versión a la tienda de aplicaciones para actualizarla.

En su lugar, los PWA nunca se empaquetan en un archivo fuera de línea. Al igual que las aplicaciones web tradicionales que utilizamos hoy en día, están alojadas en su totalidad en los servidores de la aplicación. Si un desarrollador desea actualizar su aplicación web progresiva, la actualiza exactamente igual que actualizaría la aplicación web en sus servidores. Todas las plataformas y navegadores compatibles con PWA pueden utilizar las mismas aplicaciones Web progresivas.

Los PWAs pueden ser listados en tiendas de aplicaciones para facilitar el descubrimiento y la instalación, pero la tienda de aplicaciones sólo apuntará a los servidores de la aplicación web. Incluso si una aplicación no es compatible con las políticas de contenido de una tienda de aplicaciones, los usuarios podrán encontrarla e instalarla directamente desde su navegador.


Por qué es importante

No se trata sólo de hacer que las aplicaciones web sean un poco más bonitas. Se trata de establecer un nuevo estándar para las aplicaciones instalables que todas las plataformas soportan. Eso podría significar algunos acontecimientos sorprendentes en un futuro próximo.

Por ejemplo, una vez realizado este trabajo, Google podría permitir que servicios como Gmail y Google Calendar funcionen como PWA. Esto significa que se ejecutarían como aplicaciones de estilo nativo en Windows 10 y estarían listadas en la Tienda de Windows. Esto contribuiría en gran medida a resolver el problema de las aplicaciones de la tienda de Windows, ya que Google no desea admitir la plataforma Universal Windows de Microsoft (UWP). Otros desarrolladores que no han querido crear aplicaciones UWP separadas de repente podrían soportar Windows 10 con PWAs de estilo nativo.

Los desarrolladores tendrían una forma más fácil de hacer que sus aplicaciones web funcionen de una manera más potente e integrada en una amplia variedad de dispositivos sin tener que pasar por ningún tipo de tienda de aplicaciones. Las aplicaciones web que funcionan en cualquier lugar podrían competir mejor con las aplicaciones nativas que funcionan en una sola plataforma. Una empresa que sólo tiene los recursos para crear una sola aplicación podría crear un PWA y dar soporte a todo, en lugar de crear aplicaciones separadas para iOS, Android, Windows y la Web.

Además, gracias a los archivos del Web App Manifest que proporcionan los desarrolladores, los motores de búsqueda podrán rastrear la Web y encontrar fácilmente los PWAs disponibles en línea. Esto hará que los PWAs sean fácilmente descubribles, al igual que las páginas web.

¿En qué plataformas son compatibles?

Con la próxima actualización de Windows 10, cuyo nombre en código es Redstone 4, que saldrá a la venta en marzo de 2018, Microsoft está habilitando el soporte para PWAs. Al igual que en otras plataformas, puede dirigirse al sitio web de un PWA e instalarlo a través de Microsoft Edge. Sin embargo, Microsoft también incluirá Progressive Web Apps en el Store para facilitar la instalación. Los desarrolladores pueden listar sus propias aplicaciones en la Tienda, pero Microsoft también usará Bing para encontrar buenos PWAs en la web y listarlos automáticamente. Seguirán alojados normalmente en su sitio web y actualizados por el desarrollador, pero Microsoft facilita su búsqueda e instalación. Ni siquiera tendrás que abrir el navegador Edge para buscar, instalar y ejecutar un PWA en Windows 10. Esto debería ayudar a aumentar el volumen de la tienda de Windows, pero parece una mala noticia para la plataforma de aplicaciones UWP de Microsoft. ¿Por qué muchos desarrolladores harían una aplicación UWP cuando un PWA estaría bien y funcionaría en múltiples sistemas operativos?

En Google Chrome, ya sea para Windows, Mac, Linux o Chrome, los OS-PWAs están a punto de sustituir a la plataforma ya descontinuada "Chrome Apps". Google dice que el soporte para la instalación de PWAs en el escritorio debería llegar "a mediados de 2018", aproximadamente. Entonces esos PWAs funcionarán con Chrome en el escritorio. Esta característica ya está siendo probada en la versión de desarrollo inestable de Chrome, llamada Canary.

En Android, Google Chrome ya es compatible con la instalación de PWA, al igual que otros navegadores móviles como Mozilla Firefox, Opera y el navegador Samsung. Google está trabajando en una tecnología llamada WebAPK que permitirá convertir PWAs en archivos APK (archivos de aplicaciones Android) e instalarlos en el dispositivo, al igual que otras aplicaciones. El gestor de proyectos de Chrome ha insinuado que también se pueden añadir PWAs a Play Store.

Aunque Apple no ha sido un defensor o participante de voz aquí, ahora también están añadiendo funciones PWA al navegador Safari.

Comentarios