Aplicaciones Web Progresivas
============================

![Logotipo de la comunidad PWA](/es/docs/Web/Progressive_web_apps/pwa.png)Las ***aplicaciones web progresivas*** (mejor conocidas como **PWA**s por «***P**rogressive **W**eb **A**pps*») son aplicaciones web que utilizan APIs y funciones emergentes del navegador web junto a una estrategia tradicional de mejora progresiva para ofrecer una aplicación nativa —como la experiencia del usuario para aplicaciones web multiplataforma. Las aplicaciones web progresivas son un patrón de diseño útil, aunque no son un estándar formalizado. Se puede pensar que PWA es similar a AJAX u otros patrones similares que abarcan un conjunto de atributos de aplicación, incluido el uso de tecnologías y técnicas web específicas. Este conjunto de documentos te dice todo lo que necesitas saber sobre ellas.

Para poder llamar PWA a una aplicación web, técnicamente hablando debe tener las siguientes características: Contexto seguro (en-US) (**HTTPS**), uno o más Servicio Workers y un archivo de manifiesto.

Contexto seguro (en-US) (HTTPS)

La aplicación web se debe servir a través de una red segura. Ser un sitio seguro no solo es una buena práctica, sino que también establece tu aplicación web como un sitio confiable, especialmente si los usuarios necesitan realizar transacciones seguras. La mayoría de las funciones relacionadas con una PWA, como la geolocalización e incluso los servicios *workers*, solamente están disponibles cuando la aplicación se ha cargado mediante HTTPS.

Servicio workers

Un servicio *worker* es un script que permite interceptar y controlar cómo un navegador web maneja tus solicitudes de red y el almacenamiento en caché de activos. Con los servicios *worker*, los desarrolladores web pueden crear páginas web rápidas y fiables junto con experiencias fuera de línea.

El archivo manifest

Un archivo JSON que controla cómo se muestra tu aplicación al usuario y garantiza que las aplicaciones web progresivas sean detectables. Describe el nombre de la aplicación, la URL de inicio, los iconos y todos los demás detalles necesarios para transformar el sitio web en un formato similar al de una aplicación.

Ventajas de PWA
---------------

Las PWA deben ser detectables, instalables, enlazables, independientes de la red, progresivas, reconectables, responsivas y seguras. Para obtener más información sobre lo que esto significa, lee Ventajas de las aplicaciones web progresivas (en-US).

Para saber cómo implementar PWA, lee la guía para desarrolladores de PWA.

Documentación
-------------

GuíasEsta página enumera guías para la tecnología Aplicaciones Web Progresivas (PWA, por sus siglas en inglés). Las guías brindan explicaciones conceptuales de diferentes aspectos de las PWA. Su objetivo es ayudarlo a comprender qué tipo de cosas son posibles con las PWA y brindarle suficientes sugerencias para ayudarlo a comprender cómo lograrlas.

**Advertencia:** **Todo lo que se encuentra debajo de este punto es un remanente de la versión anterior de esta página y se renovará a medida que se revise el resto del contenido.**

Guías del núcleo de PWA
-----------------------

Las siguientes guías te muestran lo que debes hacer para implementar una PWA, examinando un ejemplo simple y mostrándote cómo funcionan todas las piezas.

1. Introducción a las aplicaciones web progresivas
2. Estructura de la aplicación web progresiva
3. Hacer que las PWAs funcionen sin conexión con el servicio de workers
4. Cómo hacer que las PWAs se puedan instalar
5. Cómo hacer que las PWAs puedan volver a interactuar usando Notificaciones y Push
6. Carga progresiva
Guías tecnológicas
------------------

* Almacenamiento del lado del cliente — una extensa guía que muestra cómo y cuándo utilizar el almacenamiento web, `IndexedDB` y el servicio *workers*.
* Uso del servicio workers — una guía más detallada que cubre la API del servicio *workers*.
* Uso de IndexedDB — los fundamentos de `IndexedDB`, explicados en detalle.
* Uso de la API de almacenamiento web — la API de almacenamiento web simplificada.
* Aplicaciones web de carga instantánea con una arquitectura de intérprete de aplicaciones — una guía para usar el patrón de codificación de intérprete de App para crear aplicaciones que se cargan rápidamente.
* Uso de la API Push (en-US) — aprende los conceptos básicos de la API Web `Push`.
* Uso de la API de notificaciones — notificaciones web en pocas palabras.
* Los componentes básicos del diseño responsivo (en-US) — aprende los conceptos básicos del diseño responsivo, un tema esencial para el diseño de aplicaciones modernas.
* Primero móvil (en-US) — a menudo, al crear diseños de aplicaciones adaptables, tiene sentido crear el diseño móvil como predeterminado y construir diseños más anchos en la parte superior.
* Guía para agregar la pantalla de inicio (en-US) — aprende cómo tus aplicaciones pueden aprovechar agregar la pantalla de inicio (A2HS).
Herramientas
------------

* localForage — una biblioteca de JavaScript sencilla y agradable para almacenar datos en el lado del cliente de manera realmente simple, usa `IndexedDB` y recurre a `Web SQL`/`Web Storage` si es necesario.
* `ServiceWorkerWare` — un *microframework tipo Express* para facilitar el desarrollo del Servicio *Worker*.
* `oghliner` — no solo es una plantilla, sino una herramienta para implementar aplicaciones web sin conexión para Páginas de GitHub.
* `sw-precache` — un módulo de `node` para generar código del servicio *worker que precargará recursos específicos.*
* *workbox: sucesor espiritual de "sw-precache" con estrategias de almacenamiento en caché más avanzadas y sencillas precargas.*
* *upup: un diminuto script que garantiza que tu sitio siempre esté disponible para tus usuarios.*
* *El libro de recetas para servicios worker: una serie de excelentes recetas de servicios worker que muestran cómo implementar una aplicación sin conexión, además de otros muchos concejos.*
* *Extensión PWA de VS Code: una colección de todos los fragmentos de código esenciales que necesitas para crear aplicaciones web progresivas correctamente allí en tu entorno de VS Code.*

* *Aplicaciones web progresivas en Google Developers.*
* *Aplicaciones web progresivas: escapar de las pestañas sin perder el alma de Alex Russell.*
* *Lista de verificación de aplicaciones web progresivas.*
* *La herramienta Lighthouse de Google.*
* *Herramientas para crear aplicaciones web progresivas con Angular.*
* *Kit de guía de React PWA.*
* *Sitio web de la Pokedex sin conexión.*
* *Lectores de noticias Hacker como aplicaciones web progresivas.*
* *Aplicación web progresiva: ventajas en pocas palabras*
* *Por qué las aplicaciones web progresivas son el futuro de la web móvil (investigación de 2019).*
* *Aplicaciones web progresivas: todo lo que necesitas saber*
* *Colección de recursos, laboratorios de código y herramientas que necesitas para crear PWAs por parte del equipo de pwafire.org*
* *Configuración de tu entorno de desarrollo de aplicaciones web progresivas*