Progressive Web Apps ¿las App del futuro?

  por    0   0

Progressive web apps (PWA) o Aplicaciones Web Progresivas, es la manera de llamar a la nueva generación de apps que mejoran su eficiencia y eficacia en el funcionamiento, dependiendo de las capacidades del dispositivo en el que se ejecutan.

¿Qué diferencia una Progressive web apps de una aplicación nativa?

Sencillamente, la diferencia es que las aplicaciones nativas son todas aquellas que descargamos normalmente desde la tienda, app store o play store para android. Y que tienen la problemática de que tenemos que desarrollar una versión especial para cada tipo de sistema operativo con el que queramos que sea compatible, mientras que en las Progressive web apps accedemos a ellas directamente desde un navegador web mediante una URL sin importar el tipo de dispositivo que tengamos ni el sistema operativo que use.

Esto obviamente nos da varias ventajas importantes, con respecto a las web nativas, y es que podemos compartirlas con todo el mundo sin importar el dispositivo que tenga, y serán fácilmente localizables desde cualquier buscador web (google, bing, etc).

Tenemos que entre las principales objetivos/ventajas de una Progressive web apps podemos encontrar:

  • Ser Progresivo: De ahí su nombre, debe funcionar en cualquier dispositivo y mejorar progresivamente, es decir, aprovechar las funciones disponibles en el dispositivo del usuario y también del navegador. O dicho de otra manera, la aplicación corriendo desde el navegador web deberá ser capaz de acceder a los recursos del dispositivo (mandar notificaciones, hacer que vibre, usar los sensores del móvil, etc).
  • Detectable: Debe ser detectable en los motores de búsqueda. Esta es una gran ventaja sobre las aplicaciones nativas, ya que desde cualquier buscador (google, bing, etc) son más fácilmente localizables, puesto que las nativas todavía se quedan muy atrás en este campo.
  • Enlazable: Un sitio web bien diseñado debe utilizar una URI para indicar el estado actual de la aplicación. Esto permitirá a la aplicación web conservar o volver a cargar su estado cuando el usuario marque o comparta la URL de la aplicación.
  • Responsiva (Adaptable): Debe de ajustarse al tamaño y forma de cualquier dispositivo, esto es algo básico.
  • Ser como una app: Debe de tener el aspecto de una aplicación nativa y debe estar basada en el modelo de shell de aplicación, con un mínimo de refrescos de página.
  • Conectividad independiente: Debe funcionar en áreas de baja conectividad o fuera de línea. O lo que es lo mismo, es capaz de detectar si nos quedamos sin conexión a la red y ser capaz de funcionar con una versión anterior o la última versión que hayamos guardado en caché.
  • Instalable: Una aplicación web progresiva se tiene que poder instalar en la pantalla principal del dispositivo, haciéndola fácilmente accesible al usuario (al igual que cualquier app normal) mediante un acceso directo al escritorio.
  • Con el contenido actual: Cuando se publica nuevo contenido y el usuario está conectado a Internet, dicho contenido debe estar disponible en la aplicación para el usuario en ese mismo momento.
  • Ser segura: Dado que una aplicación web es usada de manera diferente por cada usuario, es imprescindible que la aplicación esté alojada a través de HTTPS para evitar ataques y además dar la sensación de seguridad al usuario.

¿Para qué tipos de tecnologías puede servir?

Destacamos las siguiente:

Service Workers

Según los propios desarrolladores de google podemos decir que esto es:

“Una secuencia de comandos que nuestro navegador ejecuta en segundo plano, separado de una página web, permitiendo el acceso a funciones que no necesitan una página web ni interacción de usuario.”
Service Workers

Básicamente lo que nos están tratando de decir es que nos permite ejecutar servicios en segundo plano.
Y esto conlleva múltiples beneficios, entre ellos destaco:

  1. Ser capaz de manejar las notificaciones push fácilmente.
  2. Poder sincronizar datos en segundo plano.
  3. Ser capaz de responder a las solicitudes de los recursos originales desde otros lugares.
  4. Recibir actualizaciones de manera centralizada.

App Shell

Esto es, para cargar más rápidamente la app, almacenar la interfaz de usuario básica. Esto permite, un diseño o una arquitectura en los que se puede cargar el contenido de forma progresiva y dinámica, permitiendo a los usuarios interactuar con la aplicación a pesar de tener una conectividad limitada o nula.

Básicamente, almacenar la información localmente en la caché del navegador del dispositivo, permitiendo así su uso con la última versión guardada en la caché, en caso de no disponer de conexión.

Manifiesto de aplicación

Esto, es una especificación de W3C que define una codificación basada en JSON, para proporcionar a los desarrolladores un único sitio en el que poner los meta-datas de una aplicación web. Por por ejemplo:

Ejemplo de estructura de meta data

En conclusión, aún a pesar de tener bastante muy buena pinta, no es algo tan nuevo, ni es algo que se sea tan increíble como para dejar todo lo hecho hasta ahora y cambiar a esto. Tampoco quiero decir que no sirva, ni mucho menos, sino que simplemente como siempre hay que tener en cuenta que es lo que queremos y para qué lo queremos.

Pero es evidente que, cada vez más las Progressive web apps se van pareciendo cada vez más a las aplicaciones móvil nativas, así que es posible que en un futuro no muy lejano veamos un nuevo “boom” con respecto a la creación de apps.

Un cordial saludo a tod@s.

Javier Torres

Javier Torres

Programador eCommerce & Apps at FreshCommerce
Entusiasta de las nuevas tecnologías y la programación, se siente cómodo resolviendo
los diferentes retos de nuestras APPs y proyectos eCommerce.
Javier Torres

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *


Posts relacionados

Modelos de Atribución ¿Quién vende realmente en tu eCommerce?


LEER MÁS →

Si te preguntara cuánto dinero ha generado Facebook, Instagram o Google en tu proyecto de comercio electrónico ¿qué me dirías? ¿Serías capaz de detallarme cuantas ventas y dinero genera cada canal digital que usas (o no usas) o me dirías que no tienes ni idea? En este artículo te hablamos sobre los modelos de atribución […]

Inteligencia artificial en el E-commerce


LEER MÁS →

Probablemente, habrás escuchado algo sobre qué es la inteligencia artificial y la revolución que está generando a día de hoy. Según que medios leas, es posible que pronto veamos una sociedad dependiente de robots autosuficientes que nos lleven al trabajo, nos faciliten nuestra vida en general, o por el contrario la inteligencia artificial será la […]

¿Qué es Instagram TV y cómo funciona?


LEER MÁS →

La empresa hermana de Facebook sorprende con su último lanzamiento: Instagram TV, la nueva funcionalidad que permite subir vídeos más largos de entre 15 segundos y 10 minutos, hasta de una hora para cuentas verificadas. Cada vez más usuarios consumen durante horas contenido en forma de pequeños clips en el móvil por lo que las […]

React, tecnología APP en eCommerce


LEER MÁS →

  ¿Qué es React? Una de las tendencias muy marcadas en el último año en el terrero del desarrollo de software y que seguirá en alza durante este 2018 es el flamante framework que se encuentra en las entrañas de sitios web y aplicaciones móviles de compañias tan gigantes como Facebook, Instagram, Airbnb, Uber, Wallmart, […]

¿Qué son las PWA? (Progressive Web Apps)


LEER MÁS →

Sí, sé lo que estás pensando, otro artículo sobre software que pueda que no te aporte nada a tu negocio o empleo. Pero nada más lejos de la realidad. Si actualmente estás desarrollando tu carrera profesional en el mundo digital, tienes un negocio E-commerce o simplemente estás pensando en entrar en él, esto te interesa […]
AtrásListadoSiguiente