Progressive Web Apps: el futuro de la estrategia móvil?

En la actualidad queda claro que en la batalla entre aplicaciones móviles y web móviles tiene un claro ganador.

Sin embargo en diferentes análisis, como este informe de Gartner Progressive Web Apps Will Impact Your Mobile App Strategy se indica que el futuro es de un Nuevo tipo de webs, Progressive Web App (PWA).

En el informe se dice que el ritmo de descarga de aplicaciones se está ralentizando en muchos mercados, fundamentalmente donde la adopción de dispositivos móviles es maduda, debido a la app fatigue, es decir que los usuarios están abrumados por el número de aplicaciones y alcanzan un límite en el número de aplicaciones que están dispuestos a instalar en sus dispositivos.

Según Gartner en 2020 las PWAS habrán reemplazado el 50% de las aplicaciones móviles de propósito general. Esto significa que las empresas tienen que reevaluar sus estrategias móviles, ya que las PWAs son especialmente útiles cuando las compañías quieren llegar a usuarios ocasionales más que a usuarios leales. Las PWAS son especialmente útiles para los Retailers donde sólo el 10%-15% de los clientes descargan la aplicaciones móvil.

Pero, ¿Qué es una PWA?

Las Progressive Web Apps son experiencias que combinan lo mejor de la Web y lo mejor de las apps. Están disponibles para los usuarios a partir de la primera visita en una pestaña del navegador y no requieren instalación. A medida que el usuario compila progresivamente una relación con la app con el paso del tiempo, se hace más y más poderosa. Se carga rápidamente, incluso con redes débiles, envía notificaciones push relevantes, tiene un ícono en la pantalla principal y se carga como experiencia de pantalla completa y de primer nivel.

Una Progressive Web App es:

· Progresiva: funciona para todos los usuarios, sin importar la elección de navegador, porque está construida con mejora progresiva como principio central.

· Adaptable: se adapta a cualquier factor de formulario, sea escritorio, móvil, tablet o lo que venga en el futuro.

· Independiente de la conectividad: mejorada con service workers para trabajar sin conexión o con redes de mala calidad.

· Estilo app: al usuario le parece una app con interacciones y navegación estilo app, porque está construida con modelo de shell de app.

· Fresca: siempre actualizada gracias al proceso de actualización de service worker.

· Segura: emitida vía HTTPS para evitar intromisiones y para garantizar que el contenido no se haya manipulado.

· Descubrible: se puede identificar como "app" gracias al manifiesto W3C y al alcance de registro de service worker, lo que permite que los motores de búsqueda la encuentren.

· Posibilidad de volver a interactuar: facilita la posibilidad de volver a interactuar a través de funciones como notificaciones push.

· Instalable: les permite a los usuarios "conservar" las apps que les resultan más útiles en su pantalla principal sin la molestia de una tienda de app.

· Vinculable : se puede compartir fácilmente vía URL, no requiere instalación compleja.

En este enlace podéis ver cómo construir una Progressive Web App. sobre tecnología Google.

Publicado Node.js 8.0.0

Acaba de publicarse la versión 8.0.0 de Node.js.

Node.js 8 es la próxima release con LTS (Long Time Support):

Sus principales novedades son:

· Uso de última versión de npm, la 5

· Actualización del runtime Javascript V8 a la versión 5.8

· Soporte experimental a N-API, el API para crear addons nativos

· API Experimental URL sobre WHATWG URL Standard

Leer más

API Web Storage y herramientas

https://dzone.com/articles/the-beginners-guide-to-web-storage-api-and-related?edition=298007&utm_source=Daily%20Digest&utm_medium=email&utm_campaign=dd%202017-05-06

Con Web storage nos referimos a la capacidad de los navegadores web para almacenar datos en modo key-value. En función del navegador permite almacenar de 2 a 10 MB.

Existen 2 tipos de almacenamiento:

· sessionStorage que mantiene un área de almacenamiento para cada origen y está disponible durante la duración de la session de la página. Disponible vía window.sessionStorage

· localStorage persiste incluso cuando el navedor se Cierra y se abre. Disponible vía window.localStorage properties.

Veamos como funciona:

Para guardar datos:

O:

Para recuperar datos:

Para eliminar datos.

O todos:

En DZone referencian un conjunto de librerías para trabajar con Web Storage de forma más sencilla, como webStorage, ProxyStorage, h5webstorage, react-native-storage,…

Leer más

HTTPie: una herramienta cURL-like para humanos!!!

HTTPie (aitch-tee-tee-pie) es un cliente HTTP de línea de commandos sustituto del curl.

Su objetivo principal es hacer las interacciones con Servicios HTTP más sencillas, para esto soporta JSON, highlighting, descargas wget-like, extensiones,…

Httpie es una aplicación Python, por lo que una vez instalado Python (soporta Python 2.6, aunque recomiendan Python 3.X) puedo instalarla con:

pip install –upgrade httpie

Una vez instalado podéis ejecutar el “Hello World”:

$ http httpie.org

$ http https://api.github.com/repos/stedolan/jq/commits?per_page=5

Su sintaxis es:

$ http [flags] [METHOD] URL [ITEM [ITEM]]

En su web podéis ver todas sus características: https://github.com/jkbrzt/httpie

Os puede interesar este proyecto:

HTTPie + prompt_toolkit = an interactive command-line HTTP client featuring autocomplete and syntax highlighting

https://github.com/eliangcs/http-prompt

Mi primera aplicación con StrongLoop LoopBack

LoopBack es un framework open-source (licencia MIT) para Node.js que permite crear aplicaciones de forma sencilla:

· Creación de APIS REST con un wizard CLI

· Creación de modelos

· API Explorer

· Configuración de la autenticación y autorización

· Conexión con diversos Data Stores: MySQL, Oracle, MongoDB, Postgresql, …

· SDK para Android, Java, iOS y Javascript

· Addons, por ejemplo para soportar notificaciones Push, login social,…

· StrongLoop Arc que es una UI para construir, desplegar, gestionar y monitorizar aplicaciones LoopBack

…veamos un ejemplo de cómo se usa:

1. Si aún no tenemos instalado Node.js lo primero que haremos será instalarlo (http://nodejs.org/download/ ) y comprobar que está en el PATH con:

2. Una vez tengamos Node.js podemos instalar LoopBack a través de NPM:

npm install -g strongloop

(el –g indica que que el paquete estará disponible como paquete global)

3. Una vez instalado puedo crear una aplicación LoopBak a través del interfaz de comandos (a algunos os recordará a Spring Roo :)).

Me iré a un directorio y lanzaré el comando

slc loopback

Me pedirá un nombre para mi aplicación, elegiré Api-Beers (me creará este directorio sobre el directorio actual) y:

Al acabar me aparecerá:

Y este código:

4. Tras esto me iré al directorio y configuraré un DataSource para conectar con Mongo:

slc loopback:datasource

Al acabar el comando puedo ir al fichero server/datasources.json y revisar la configuración:

5. Ahora crearé mi modelo con:

slc loopback:model

En common/models/beer.json podemos ver la definición del modelo:

6. Y sin más ya puedo ejecutar la aplicación:

slc run

En http://localhost:3000/explorer puedo acceder al API REST:

¿Qué es Jaggery?

Jaggery es un framework con licencia Apache 2.0 para escribir aplicaciones y servicios Web completas:Front-end, comunicación, lógica en Servidor y persistencia, todo ello en Javascript.

Las aplicaciones Jaggery se despliegan sobre el Jaggery Server (un Servidor Java construido sobre WSO2 Carbon Runtime), y ofrece una consola que permite desplegar y gestionar aplicaciones Jaggery:

También ofrece una CLI para desplegar apps vía línea de comandos.

Entre sus herramientas tenemos un Editor para IntelliJ y un Debugger sobre Rhino Javascript Debugger: http://jaggeryjs.org/tools.jag

Para probarlo lo mejor es echar un ojo a sus demos.