Progressive Web Apps (PWA)
Este artículo es una explicación conceptual sobre Progressive Web Apps (PWA), incluidas preguntas de examen, puntos clave y etiquetas.
De un vistazo
Progressive Web Apps (PWA) son aplicaciones web que se comportan como aplicaciones nativas, incluyendo funcionalidad offline, instalación y notificaciones push.
Descripción técnica compacta
Las Progressive Web Apps combinan la apertura del web con funcionalidades de aplicaciones nativas. Se ejecutan en el navegador, pero pueden instalarse en la pantalla de inicio y funcionan offline mediante Service Workers y caché. Las características típicas incluyen:
- Instalabilidad (Agregar a pantalla de inicio)
- Capacidad offline (Caché, Cache API)
- Notificaciones push (dependiendo de la plataforma)
- HTTPS como requisito previo
- Web App Manifest con metadatos (nombre, iconos, URL de inicio)
Las PWAs funcionan en escritorio y dispositivos móviles de forma independiente de la plataforma, siendo especialmente útiles para aplicaciones que se cargan rápido y son resistentes a fallos de red.
Puntos clave para el examen
Debes recordar los siguientes puntos para la prueba:
Una Progressive Web App es una aplicación web que proporciona funcionalidades que antes estaban reservadas solo para aplicaciones nativas, utilizando tecnologías web modernas. Esto incluye instalación en la pantalla de inicio, uso offline y notificaciones push.
Los tres requisitos técnicos centrales para una PWA son HTTPS, un Service Worker y un Web App Manifest. HTTPS es obligatorio porque los Service Workers tienen permisos extensos y solo pueden ejecutarse en conexiones seguras. El Manifest contiene los metadatos que el navegador necesita para permitir la instalación.
La capacidad offline se logra almacenando recursos en caché. El Service Worker decide qué datos se guardan en caché y cómo se sirven las solicitudes cuando no hay conexión de red. La Cache API es la encargada de esto.
Una PWA no requiere publicación en una tienda de aplicaciones. Se puede distribuir a través de una URL. Esto es relevante para el examen porque reduce costos de distribución y aumenta el alcance, eliminando comisiones o tiempos de revisión de una tienda de aplicaciones.
La instalación ocurre a través del navegador. El usuario ve un ícono de instalación en la barra de direcciones o selecciona la opción de agregar a la pantalla de inicio. Después de la instalación, la PWA aparece como una aplicación nativa con su propio ícono y sin interfaz visible del navegador.
Los Service Workers presentan riesgos de seguridad si se implementan incorrectamente. Pueden manipular el tráfico de red y almacenar recursos en caché. Por eso HTTPS es obligatorio y el acceso al Service Worker debe controlarse.
Desde una perspectiva económica, las PWAs son rentables porque una única base de código funciona en diferentes plataformas. No es necesario desarrollar por separado para iOS y Android. Esto reduce el tiempo y costo de desarrollo, prueba y mantenimiento.
La documentación de una PWA debe incluir los requisitos técnicos, el Manifest, las estrategias de caché elegidas y el concepto offline. En los exámenes frecuentemente se pregunta qué campos del Manifest deben documentarse.
Componentes principales
HTML, CSS y JavaScript
Una PWA se construye sobre tecnologías web estándar. HTML proporciona la estructura, CSS el diseño y JavaScript la interactividad. Estas tecnologías son independientes de plataforma y funcionan en cualquier navegador moderno.
Service Worker
Un Service Worker es un JavaScript Worker que se ejecuta en segundo plano del navegador. Actúa como proxy entre la aplicación y la red. Puede interceptar solicitudes, almacenar recursos en caché y recibir notificaciones push. El Service Worker es el corazón de la capacidad offline.
Web App Manifest
El Web App Manifest es un archivo JSON que contiene metadatos de la aplicación. Los campos importantes son name, short_name, start_url, display, background_color, theme_color e icons. El navegador utiliza esta información para hacer la aplicación instalable y mostrarla como una aplicación nativa.
Estrategias de caché
Las estrategias de caché definen cómo se sirven las solicitudes. Las estrategias comunes son Cache First, Network First, Stale While Revalidate y Network Only. Cache First es rápido pero puede entregar datos desactualizados. Network First es más actual pero lento con mala conectividad. Stale While Revalidate combina ambos enfoques.
Diseño responsivo
El diseño responsivo asegura que la PWA se vea bien en smartphones, tablets y computadoras de escritorio. Es un requisito fundamental para una buena experiencia del usuario y a menudo se da por sentado.
Obligatoriedad de HTTPS
Los Service Workers y muchas características de PWA como notificaciones push o sincronización en segundo plano funcionan solo sobre HTTPS. El navegador rechaza el registro de un Service Worker en conexiones HTTP inseguras.
Notificaciones push
Las notificaciones push permiten que la PWA muestre mensajes al usuario incluso fuera de la aplicación. Se reciben a través del Service Worker y un servicio de push. Para el examen, es importante recordar que el usuario debe consentir esta funcionalidad.
Sincronización en segundo plano
La sincronización en segundo plano permite enviar datos una vez restaurada la conexión de red. Es práctica para formularios o acciones que deben completarse de forma confiable incluso con interrupciones.
Instalabilidad
La instalabilidad significa que la PWA puede colocarse como ícono en la pantalla de inicio o en el escritorio. Los requisitos son el Web App Manifest y un Service Worker registrado. Después de la instalación, la aplicación se abre en su propia ventana sin elementos del navegador.
Mejora progresiva
La mejora progresiva significa que la aplicación funciona de manera básica en todos los dispositivos y proporciona funcionalidades adicionales en dispositivos compatibles, como uso offline o instalación. Este es un principio central del desarrollo de PWA.
Ejemplo práctico simple (Manifest)
{
"name": "Mi PWA",
"start_url": "/index.html",
"display": "standalone",
"icons": [
{ "src": "icon.png", "sizes": "192x192", "type": "image/png" }
]
}
Explicación: El Manifest permite que la PWA sea instalable como una aplicación (ícono, comportamiento al iniciar, presentación).
Ventajas y desventajas
Ventajas
- Independencia de plataforma
- Capacidad offline
- Sin necesidad de tienda de aplicaciones
- Ciclo de desarrollo más rápido
Desventajas
- Acceso limitado al hardware (por ejemplo, Bluetooth/NFC parcialmente limitado)
- Soporte en iOS limitado según la funcionalidad
- Sin marketing en tiendas (rankings, reseñas)
FAQ: Progressive Web Apps (PWA)
1. ¿Qué es una Progressive Web App?
2. ¿Cuáles son los componentes principales de una PWA?
3. ¿Qué es un Service Worker?
4. ¿Qué es el Web App Manifest?
5. ¿Por qué es obligatorio HTTPS para las PWAs?
6. ¿Cómo funciona la capacidad offline de una PWA?
7. ¿Cuál es la diferencia entre Cache First y Network First?
8. ¿Cómo se instala una PWA?
9. ¿Qué es la mejora progresiva?
10. ¿Qué es el diseño responsivo en PWAs?
11. ¿Qué son las notificaciones push en PWAs?
12. ¿Qué es la Cache API?
13. ¿Cuál es la ventaja de una PWA sobre una aplicación nativa?
14. ¿Cuáles son las desventajas de las PWAs?
15. ¿Qué es el modo de visualización standalone en el Manifest?
16. ¿Cuál es el ciclo de vida de un Service Worker?
17. ¿Qué es Background Sync?
18. ¿Qué es una App Shell?
19. ¿Cuál es la diferencia entre una PWA y una aplicación híbrida?
20. ¿Qué significa agregar a pantalla de inicio?
21. ¿Qué es un archivo Web App Manifest?
22. ¿Cómo funciona el caché en PWAs?
23. ¿Qué es Stale While Revalidate?
24. ¿Cuáles son los aspectos de seguridad importantes en PWAs?
25. ¿Cuándo merece la pena implementar una PWA?
Glosario
| Término | Definición |
|---|---|
| Progressive Web App | Aplicación web con funcionalidades nativas (offline, push, instalación) |
| Service Worker | Script ejecutado en segundo plano para gestionar caché y conectividad |
| Web App Manifest | Metadatos JSON que definen la instalabilidad de la PWA |
Respuesta abierta
Las PWAs resultan especialmente útiles para servicios de información, portales de noticias o tiendas online, donde importan los tiempos de carga rápidos, la capacidad offline y una distribución sencilla. Para evaluaciones es fundamental entender que las PWAs van más allá de simples “sitios web móviles”, ya que incorporan funcionalidades reales de aplicación, particularmente Service Worker y Manifest.
Estrategia de aprendizaje para este tema
- Introducción conceptual: Instala una PWA (por ejemplo, Twitter Lite) y prueba su comportamiento offline.
- Profundización práctica: Construye una mini-PWA con Manifest y un Service Worker básico.
- Entrenamiento para evaluaciones: Practica argumentar las diferencias entre PWA, aplicaciones nativas e híbridas.
- Evitar errores comunes: No olvides HTTPS, de lo contrario los Service Workers no funcionarán.
Análisis del tema
- Núcleo técnico: Service Worker, Manifest, Caching
- Desafíos de implementación: Estrategias de caché, servicios push, compatibilidad con navegadores
- Implicaciones de seguridad: HTTPS, control de acceso a recursos
- Requisitos de documentación: Contenido del Manifest, estrategia offline
- Evaluación económica: Eficiencia de costos, alcance, mantenibilidad
Continuando en la ruta de aprendizaje PWA
El siguiente artículo en la ruta de aprendizaje PWA trata sobre Progressive Web Apps: Webanwendungen, explicando cómo funcionan las PWAs como aplicaciones web modernas y qué ventajas ofrecen.
Recursos adicionales
- https://web.dev/progressive-web-apps/
- https://developer.mozilla.org/de/docs/Web/Progressive_web_apps
- https://codelabs.developers.google.com/codelabs/your-first-pwapp/
- https://developers.google.com/web/fundamentals/primers/service-workers
- https://whatwebcando.today/
Recomendaciones de libros sobre desarrollo web
Si deseas profundizar en Progressive Web Apps, rendimiento web y desarrollo web moderno, te recomendamos los siguientes libros:
Keine Bücher für Kategorie "web-development" gefunden.



