Compatibilidades de las PWA según el navegador y el sistema operativo
Uno de los puntos fuertes de las PWA es que son adaptativas. Esto significa que siempre ofrecen la mejor experiencia de usuario posible de la pantalla del dispositivo móvil y del navegador utilizado.
Aunque es una tecnología en desarrollo que está avanzando muy rápido, no todos los navegadores y sistemas operativos tienen el mismo grado de compatibilidad con las aplicaciones web progresivas. El número de funcionalidades de la PWA dependerá de la compatibilidad con el dispositivo y el navegador.
Hasta hace poco tiempo las PWA solo estaban disponibles para Android. Recientemente se han incorporado a iOS y también a Windows pero con algunas limitaciones.
Navegadores y Service Worker
Gracias a la tecnología Service Worker es posible utilizar funcionalidades avanzadas en las PWA. Los principales navegadores utilizados en Android, Windows y Linux son Chrome, Edge, Firefox y Opera (este último también para MacOS) y todos ellos soportan la instalación de un Service Worker. Recientemente se ha incorporado a la lista el navegador Safari, empleado en MacOS e iOS.
El Service Worker habilita una sincronización en segundo plano que incrementa la velocidad de ejecución de la aplicación. Por otra parte, esta tecnología posibilita el acceso sin conexión a Internet, aprovechando la caché de anteriores sesiones. Todo ello proporciona una experiencia de usuario mejorada.
En código, por ejemplo, para conseguir sincronización en segundo plano:
self.addEventListener('sync', async activateEvent => {});
Notificaciones push
Las notificaciones push utilizan dos API (Application Programming Interface) o códigos de manera conjunta: API Push y API Notification. Esta última es la que se emplea para activar la visualización de la notificación en la pantalla del usuario.
Este sistema de gestión de notificaciones es compatible con los navegadores Chrome, Edge, Firefox y Opera para dispositivos Android, Windows y Linux. Safari emplea un sistema propio de Apple que permite recibir notificaciones en MacOS pero de momento, no está habilitado para iOS.
En código:
self.addEventListener('push', async activateEvent => {});
¿Necesitas (realmente) rediseñar tu sitio web?
Ebook gratuito
Geolocalización
La geolocalización es una de las funcionalidades más interesantes para los negocios locales. Permite conocer la ubicación del usuario, previo consentimiento, y enviarle notificaciones según su posición.
La API Geolocation requiere el uso de conexión segura (https). Es compatible con los navegadores Chrome y Firefox para todos los dispositivos móviles y ordenadores de escritorio, sea cual sea su sistema operativo. Como en otros casos, Safari es compatible con MacOS e iOS. Edge y Opera tienen algunas limitaciones según el tipo de dispositivo y navegador.
Vídeo y captura de imagen
Hasta hace poco las apps necesitaban utilizar un elemento html para acceder a los vídeos e imágenes de la cámara de los dispositivos móviles. En cambio, las PWA emplean la API Media Capture, que posibilita el acceso a la cámara y el micro del móvil. Gracias a esta funcionalidad es posible realizar acciones como tomar una foto o grabar un video sin salir del navegador.
La compatibilidad se extiende a todos los navegadores empleados habitualmente tanto en Android e iOS como en los sistemas operativos escritorio.
Bluetooth
Las Progressive Web Apps también pueden comunicarse con dispositivos Bluetooth de forma segura, algo que hasta ahora solo era posible con las aplicaciones nativas.
No obstante, esta es una de las compatibilidades menos extendidas y sólo está disponible para Android.
Estas son las principales funcionalidades de las PWA según su compatibilidad con diferentes navegadores y sistemas operativos. No obstante, es previsible que las posibilidades se amplíen a medida que las Progressive Web Apps evolucionen.