Para crear una Progressive Web App (PWA) con Service Worker, sigue los siguientes pasos:

- Crea un archivo
manifest.json: Este archivo define cómo se verá y se comportará la aplicación en diferentes dispositivos. Incluye información como el nombre de la aplicación, el icono de la aplicación, el tema de color, la orientación de pantalla y mucho más.
{
"name": "Mi App PWA",
"short_name": "Mi App",
"theme_color": "#000000",
"background_color": "#ffffff",
"display": "standalone",
"icons": [
{
"src": "icono-192.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "icono-512.png",
"sizes": "512x512",
"type": "image/png"
}
]
}
- Crea un archivo
index.html: Este archivo es el punto de entrada de tu aplicación. Incluye un enlace al archivomanifest.jsony a tu archivoservice-worker.js. Además, aquí es donde debes incluir todo el contenido de tu aplicación.
<!DOCTYPE html> <html lang="es"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="description" content="Mi App PWA"> <link rel="manifest" href="/manifest.json"> <title>Mi App PWA</title> </head> <body> <h1>Mi App PWA</h1> <p>¡Bienvenido a mi aplicación PWA!</p> <script src="/main.js"></script> <script src="/service-worker.js"></script> </body> </html>
- Crea un archivo
service-worker.js: Este archivo es donde se alojará el Service Worker. En este archivo, debes definir qué recursos debe cachear tu aplicación y cómo manejar las solicitudes de red.
const CACHE_NAME = 'mi-app-cache-v1';
const urlsToCache = [
'/',
'/index.html',
'/main.js',
'/styles.css'
];
self.addEventListener('install', event => {
event.waitUntil(
caches.open(CACHE_NAME)
.then(cache => cache.addAll(urlsToCache))
.catch(error => console.log('Error al instalar el Service Worker:', error))
);
});
self.addEventListener('fetch', event => {
event.respondWith(
caches.match(event.request)
.then(response => response || fetch(event.request))
.catch(error => console.log('Error al intentar acceder a la caché:', error))
);
});
- Registra el Service Worker: Para registrar tu Service Worker, debes agregar el siguiente código al final de tu archivo
index.html:
if ('serviceWorker' in navigator) {
window.addEventListener('load', () => {
navigator.serviceWorker.register('/service-worker.js')
.then(registration => console.log('Service Worker registrado:', registration))
.catch(error => console.log('Error al registrar el Service Worker:', error));
});
}
- Prueba tu aplicación: Una vez que hayas completado los pasos anteriores, debes probar tu aplicación en diferentes dispositivos y navegadores para asegurarte de que todo funcione como se esperaba.
Al crear una PWA con Service Worker, debes asegurarte de que la aplicación sea segura, confiable y fácil de usar en todos los dispositivos y navegadores. Esto significa que debes tener en cuenta la seguridad, la accesibilidad y la usabilidad de la aplicación.

Ingeniero en Informática, Investigador, me encanta crear cosas o arreglarlas y darles una nueva vida. Escritor y poeta. Más de 20 APPs publicadas y un libro en Amazon.