Esta es una serie de blogs de tres partes sobre aplicaciones web progresivas. En el primer artículo de la serie “Por qué las aplicaciones web progresivas (PWA) no son buenas noticias para los desarrolladores de aplicaciones nativas e híbridas”, traté de explicar la inminencia de las aplicaciones web progresivas. Después de leerlo, muchos de mis lectores me preguntaron sobre la diferencia entre una aplicación web progresiva y una aplicación web receptiva. De hecho, con la aparición de muchos nuevos jergones de desarrollo móvil todos los días, es realmente difícil entender el concepto de tecnología, especialmente cuando son crípticos con sinónimos.
Para mí, una aplicación web progresiva es una progresión o el siguiente paso para una aplicación web receptiva. Es decir, si tiene un sitio web (página web / aplicación web) que responde a dispositivos móviles, entonces aprovecha las nuevas funciones compatibles con los navegadores modernos para convertirlo en una aplicación web progresiva. Estas características incluyen el uso de trabajadores de servicios, manifiestos de aplicaciones web, notificaciones push, soporte fuera de línea, etc.
Con la llegada de HTML5, se introdujo una característica llamada Application Cache. Esto permite que los sitios web almacenen cantidades significativas de datos fuera de línea, y como resultado funcionan de manera similar a una aplicación nativa. Pueden almacenar en caché todo el sitio web y el contenido para que no necesite una conexión a Internet para usarlo. También con HTML5, se incluyeron características como notificación push, reproducción de video nativo, captura de audio y video nativo, entre otras cosas. El sitio web whatwebcando.today muestra la lista completa de API HTML5 de integración de dispositivos compatibles actualmente. Esto significa que las aplicaciones web tienen paridad de características con las aplicaciones nativas / híbridas y generalmente se llamaron aplicaciones web receptivas.
- Facebook y Amazon (por ejemplo) están escritos en C ++. ¿Cómo puedo usar o implementar código C ++ en la página web?
- ¿Los diseñadores web usan bootstrap?
- ¿Qué es una cadena de agente de usuario?
- Cómo hacer mi propio sitio web paso a paso
- ¿Rails 3 finalmente será más estándar que PHP?
Funciones nativas compatibles con aplicaciones web progresivas
Las aplicaciones web progresivas se refieren a sitios web que aprovechan las características que ya ofrecen las aplicaciones web receptivas. Deben ser receptivos (funcionan en cualquier dispositivo) y ser como aplicaciones. Pero aparte de estas características de aplicaciones web receptivas, la aplicación web progresiva aprovecha las siguientes características.
- Agregar un ícono a la pantalla de inicio
- Aparece en la lista de aplicaciones. Esto se puede hacer usando WebAPKs – ¡Las aplicaciones web progresivas ahora se pueden empaquetar en paquetes de Android reales instalables!
- Lanzamiento en pantalla completa
- Acceso al portapapeles
- Gráficos 2D / 3D acelerados por hardware a través de HTML5 Canvas o WebGL
- Acceder al sistema de archivos (Chrome y Opera) y leer archivos seleccionados por el usuario en cualquier navegador
- Interfaces de usuario suaves y lisas con animaciones de 60 fps
Funciones nativas de Android no compatibles con las aplicaciones web progresivas
Aunque la aplicación web progresiva puede hacer la mayoría de las funcionalidades requeridas por la mayoría de las aplicaciones, todavía hay algunas características que no son compatibles. Son
- Funciones de telefonía: es una aplicación web progresiva que no puede interceptar SMS o llamadas, enviar SMS / MMS, obtener el número de teléfono del usuario, leer el correo de voz, hacer llamadas telefónicas sin el cuadro de diálogo Marcador.
- Acceso a contactos, calendario y navegador.
- Acceso a alarmas
- Acceso a funciones de hardware de bajo nivel y sensores como la linterna, sensor de presión atmosférica. Ya se admiten sensores como Bluetooth a través de API web Bluetooth, NFC, sensor de luz ambiental, sensor de proximidad, acelerómetro, magnetómetro y giroscopio.
- Acceso a la gestión de tareas.
- Modificar la configuración del sistema y los registros
Como puede ver, la brecha entre una aplicación nativa / híbrida y una aplicación web progresiva se está cerrando a medida que los desarrolladores intentan brindar más soporte para las aplicaciones web progresivas. En el futuro, podría ver más empresas optando por una aplicación web progresiva a una aplicación nativa / híbrida. Este progreso fue posible debido a las contribuciones que obtuvieron las aplicaciones web Responsive que finalmente están allanando el camino para las aplicaciones web progresivas.