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

Estado del Bitcoin en eCommerce ¿Futuro o Presente?


LEER MÁS →

Antes de nada ¿Qué son los bitcoins? A principios de año, comentaba brevemente en la TV Canaria, el auge de los pagos electrónicos. Y las criptomonedas, con Bitcoin cómo punta de lanza, son sin duda alguna el área más innovadora de este tipo de pagos. ¿Pero qué es Bitcoin? Bitcoin es una moneda digital o “criptomoneda” que […]

Google Data Studio, la solución definitiva para controlar tu negocio en tiempo real


LEER MÁS →

Como profesionales del comercio electrónico y del marketing digital, uno de los principales retos a los que nos enfrentamos cada día es la obtención e interpretación de datos y métricas. ¿Cuánto tiempo hemos invertido realizando informes?, ¿cuánto dinero hemos invertido (o gastado) en herramientas poco dinámicas o nada efectivas para desarrollar informes y paneles de […]

Importante Bug de guardado en Proyectos Prestashop

Bug de guardado en Prestashop


LEER MÁS →

Hola a tod@s, hoy os voy a hablar acerca de un bug o error que ha surgido en Prestashop para versiones inferiores a la 1.6.1.9, y que tiene que ver con la edición de productos. El problema Para poneros un poco en situación, W3C ha decidido cambiar el estándar para hacer llamadas de manera síncrona […]

Pagos electrónicos en 2017 ¿El comienzo del fin de billetes y monedas?


LEER MÁS →

Arranco mi primer post de 2017 hablando de un tema muy actual, aprovechando la invitación de la TVCanaria para hablar del final del pago en efectivo, Durante el año 2016 tuvo lugar un hito histórico en la evolución tecnológica del planeta: por 1ª vez los pagos electrónicos y con tarjeta superaron al efectivo o “cash” cómo medio de […]

El marketing de personalización, una apuesta segura

marketing-personalizacion


LEER MÁS →

En ciencia, hay una teoría probada que dice que sólo vemos y oímos lo que queremos ver y oír. A este efecto se le conoce como ‘efecto cocktail party’ (ya que explica por qué en medio de una fiesta somos capaces de fijarnos en una voz por encima de las demás) y se produce gracias al […]
AtrásListado