
Aplicaciones web progresivas - PWA
La web es una plataforma increíble. Su combinación de ubicuidad entre dispositivos y sistemas operativos, su modelo de seguridad centrado en el usuario y el hecho de que ni su especificación ni su implementación están controladas por una sola empresa hacen de la web una plataforma única para desarrollar software. Combinado con su capacidad de vinculación inherente, es posible buscar y compartir lo que ha encontrado con cualquier persona, en cualquier lugar. Siempre que visita un sitio web, está actualizado y su experiencia con ese sitio puede ser tan efímera o permanente como desees. Las aplicaciones web pueden llegar a cualquier persona, en cualquier lugar y con cualquier dispositivo con una única base de código.
Las aplicaciones específicas de la plataforma son conocidas por ser increíblemente ricas y confiables. Están siempre presentes en las pantallas de inicio, los dock y en las barras de tareas. Funcionan independientemente de la conexión de red. Se lanzan en su propia experiencia independiente. Pueden leer y escribir archivos desde el sistema de archivos local, acceder al hardware conectado a través de un puerto USB o bluetooth, e incluso interactuar con los datos almacenados en su dispositivo, como contactos y eventos del calendario. En estas aplicaciones, puedes hacer cosas como tomar fotografías, ver la reproducción de canciones en la pantalla de inicio o controlar la reproducción de canciones mientras está en otra aplicación. Las aplicaciones específicas de la plataforma se sienten como parte del dispositivo en el que se ejecutan.
Si piensa en aplicaciones web y aplicaciones específicas de plataforma en términos de capacidad y alcance, las aplicaciones específicas de la plataforma representan de mejor manera las capacidades, mientras que las aplicaciones web representan el mejor alcance. Entonces, ¿en dónde encajan las aplicaciones web progresivas? Las aplicaciones web progresivas (PWA) se crean y se mejoran con API modernas para ofrecer capacidad, confiabilidad e instalación mejoradas mientras llegan a cualquier persona, en cualquier lugar y con cualquier dispositivo con una única base de código.
1. Los tres pilares de la aplicaciónes
Las aplicaciones web progresivas son aplicaciones web que se han diseñado para que sean capaces, confiables e instalables. Estos tres pilares los transforman en una experiencia que se siente como una aplicación específica de la plataforma.
1.1. Capaces
En la actualidad, la web es bastante capaz. Por ejemplo, se puede crear una aplicación de chat de video enfocado en una localidad utilizando WebRTC, geolocalización y notificaciones push. Puedes hacer que esa aplicación se pueda instalar y convertir esas conversaciones en virtuales con WebGL y WebVR. Con la introducción de Web Assembly, los desarrolladores pueden aprovechar otros ecosistemas, como C, C++ y Rust, y traer también décadas de experiencia y de capacidades a la web. Squoosh.app, por ejemplo, aprovecha esto para su compresión de imagen avanzada.
Hasta hace poco, solo las aplicaciones específicas de plataforma podían realmente reclamar estas capacidades. Si bien algunas capacidades aún están fuera del alcance de la web, las API nuevas y futuras buscan cambiar eso, expandiendo lo que la web puede hacer con funciones como acceso al sistema de archivos, controles de medios, credenciales de aplicaciones y soporte completo para el portapapeles. Todas estas capacidades se construyen con el modelo de permisos seguro y centrado en el usuario de la web, lo que garantiza que ir a un sitio web nunca sea una propuesta aterradora para los usuarios.
Entre las API modernas, el Web Assembly y las API nuevas y futuras, las aplicaciones web son más capaces que nunca, y esas capacidades solo están creciendo.
1.2. Confiables
Una aplicación web progresiva confiable se siente rápida y fiable independientemente de la red. La velocidad es fundamental para que los usuarios utilicen tu experiencia. De hecho, a medida que los tiempos de carga de la página van de 1 segundo a 10 segundos, la probabilidad de que un usuario rebote aumenta en un 123%. El rendimiento no se detiene después del evento de onload. Los usuarios nunca deben preguntarse si su interacción (por ejemplo, hacer clic en un botón) se registró o no. El desplazamiento y la animación deben ser fluidos. El rendimiento afecta a toda su experiencia, desde cómo los usuarios perciben su aplicación hasta cómo funciona realmente.
Por último, las aplicaciones fiables deben poder utilizarse independientemente de la conexión de red. Los usuarios esperan a que las aplicaciones se inicien con conexiones de red lentas o inestables o incluso cuando estén desconectadas. Esperan que el contenido más reciente con el que han interactuado, como pistas multimedia o boletos e itinerarios, estén disponibles y se puedan usar incluso si es difícil obtener una consulta en su servidor. Cuando una consulta no es posible, esperan que se les diga que hay problemas en lugar de fallar o bloquearse silenciosamente.
A los usuarios les encantan las aplicaciones que responden a la interacción en un abrir y cerrar de ojos y en una experiencia en la que pueden confiar.
1.3. Instalables
Las aplicaciones web progresivas instaladas se ejecutan en una ventana independiente en lugar de en una pestaña del navegador. Se pueden iniciar desde la pantalla de inicio del usuario, el dock, la barra de tareas o la estantería. Es posible buscarlos en un dispositivo y saltar entre ellos con el conmutador de aplicaciones, haciéndolos sentir como parte del dispositivo en el que están instalados.
Se abren nuevas capacidades después de instalar una aplicación web. Los atajos de teclado que generalmente se reservan cuando se ejecutan en el navegador, se encuentran disponibles. Las aplicaciones web progresivas pueden registrarse para aceptar contenido de otras aplicaciones o para ser la aplicación predeterminada para manejar diferentes tipos de archivos.
Cuando una aplicación web progresiva sale de una pestaña y entra en una ventana de aplicación independiente, transforma la forma en que los usuarios piensan e interactúan con ella.
Notas y referencias
Creacion de una funcion para calcular el tiempo transcurrido entre dos fechas en PHP [ Leer más ]
La Inteligencia Artificial: Desafios eticos, reguladores y de seguridad en el desarrollo y uso de la tecnologia [ Leer más ]
iQuien es el propietario del contenido que crea la IA? [ Leer más ]
LinkedIn - PostInspector [ Leer más ]
Resolver problemas novedosos y establecer un nuevo hito en la programacion competitiva [ Leer más ]
Crear un calendario con PHP y HTML [ Leer más ]
Google Activate [ Leer más ]
La Misión Internacional de Sabios [ Leer más ]
Microsoft y LinkedIn abren 350 cursos gratuitos [ Leer más ]
9 interesados en obtener permisos para uso del espectro en Colombia [ Leer más ]