Imagen de Progressive Web Apps
Las progressive Web Apps son una nueva clasificación de aplicaciones para la web. Su característica principal es el acceso a recursos que hasta ahora estaban sólo disponibles en las aplicaciones nativas para móviles, o aplicaciones de escritorio. Podemos decir que las Progressive Web Apps (PWA) rellenan un hueco existente entre las aplicaciones web tradicionales y las aplicaciones nativas.

Entre las nuevas características que posibilitan las Progressive web apps podemos destacar:

Son instalables en el dispositivo del usuario
Una vez instaladas, pueden trabajar sin los bordes y menús de los navegadores, con lo que se ofrece una experiencia de usuario similar a las aplicaciones nativas
Es posible configurar fácilmente una pantalla de carga, de modo que el usuario pueda ver el título de la aplicación y una imagen mientras se arranca.
Son capaces de hacer cacheo de páginas y datos, de modo que pueden, y deben, responder instantáneamente a la interacción con el usuario
Al poder cachear archivos, son capaces de seguir funcionando sin conexión. Incluso, aunque el usuario no tenga conexión, la PWA se puede abrir igualmente y trabajar con ella. Obviamente no podrá acceder a datos nuevos hasta que no se tenga conexión, pero la aplicación en sí funcionará
Pueden personalizar las barras de iconos del dispositivo, por ejemplo la barra de arriba, donde se muestra la hora y las aplicaciones residentes
Pueden trabajar aunque el usuario no tenga la aplicación abierta en un momento dado
Son capaces de recibir notificaciones push

Para que muchas de estas utilidades se puedan dar, las progressive web apps incorporan una nueva tecnología llamada service worker. Los service workers son programas Javascript que se quedan residentes en el navegador y que pueden ejecutarse aunque el usuario no esté en la página en un instante dado. Los service workers son los que se encargan de cachear datos y recibir las notificaciones push aunque la web no esté abierta en ese momento.

La ventaja principal de una aplicación progresiva con respecto a una aplicación nativa es que no requiere instalación a través de una store de aplicaciones. Esto permite eliminar una barrera de entrada en las apps, que requieren ser descubiertas en un store con millones de aplicaciones y que requieren ser instaladas. Por su parte, las PWA solo requieren el acceso a una URL para poder usarse e instalarse.

Como desventaja podemos destacar que no llegan a disponer de todas las posibilidades que tienen los desarrolladores de aplicaciones nativas, pues en el fondo sigue siendo una aplicación web, aunque ahora con menos restricciones. Por tanto, las PWA gozarán en principio de menor rendimiento que las aplicaciones nativas y tendrán un acceso más limitado a periféricos del dispositivo. Adicionalmente, como dependen también del sistema operativo, hay que decir que no todas las características o posibilidades tienen por qué estar disponibles en todos los sistemas. Por ejemplo, Android tiene un soporte excelente a PWA, mientras que iOS está poco a poco incorporando más funcionalidad.

Cómo aprender Progressive Web Apps

Para el desarrollo de Progressive Web Apps no necesitas más que tecnologías web, como HTML, CSS y Javascript. Por tanto con ese conocimiento de base tienes suficiente para empezar. Sin embargo, es normal que los desarrolladores de aplicaciones usen algún framework o librería para desarrollar PWA, por lo que si es tu caso, necesitarás conocer también la librería de turno.

Si deseas aprender PWA de manera general, tenemos un curso de Progressive Web Apps que explica cómo trabajar con ellas usando solo Javascript.

Si deseas aprender a desarrollar basado en alguna librería, entonces te recomendamos los cursos específicos de PWA bajo esa librería, como el curso de Progressive web apps con Polymer o el curso de Aplicaciones Progresivas con Angular.

Cursos de Progressive Web Apps

Me interesan todos

Conocimientos necesarios

Explora otras materias de cursos