Contenido del curso
Analizando el tamaño del Bundle
Aumenta la velocidad de navegación
- 6

Code splitting a nivel de rutas
06:15 min - 7

Implementando una propia estrategia de precarga
08:23 min - 8

Implementando QuicklinkStrategy
09:11 min - 9

Usando Machine Learning para predecir rutas
06:15 min - 10

Google Analytics y Angular
11:21 min - 11

Implementando GuessJs
13:13 min - 12

Precarga con Service workers
Viendo ahora - 13

¿Qué es Server Side Render?
03:35 min - 14

Implementando Angular Universal
09:23 min - 15

Cuidados con SSR y Angular
09:18 min
Rendimiento en tiempo de ejecución
Conclusiones
Precarga con Service workers
Resumen
¿Cómo mejorar el rendimiento de una aplicación usando Service Workers?
Optimizar nuestras aplicaciones web es esencial para ofrecer una experiencia de usuario fluida y rápida. Una manera efectiva de lograr esto es convirtiendo nuestra aplicación en una aplicación web progresiva (PWA) mediante el uso de Service Workers. Estas técnicas involucran pre-carga y almacenamiento en caché de archivos, mejorando significativamente los tiempos de carga y funcionamiento.
¿Qué es un Service Worker?
Un Service Worker es un script que el navegador descarga y ejecuta en segundo plano, incluso sin conexión a internet. Su principal objetivo es manejar caché y hacer que las aplicaciones funcionen más rápido y sin interrupciones.
¿Cómo implementar un Service Worker en Angular?
La implementación de un Service Worker en Angular es sencilla y sigue pasos sistemáticos:
- Instalación: Usa el comando de Angular CLI para añadir soporte de Service Worker a tu proyecto. Asegúrate de especificar el nombre adecuado del proyecto.
ng add @angular/pwa --project nombreDelProyecto - Configuración: Angular generará y actualizará varios archivos, incluyendo la configuración del Service Worker y un archivo
manifestque define características de la aplicación como íconos y nombre. - Archivos caché: Define los archivos que deben precargarse y almacenarse en caché, asegurándote de que no se vuelva a solicitar al servidor estático.
¿Qué problemas pueden surgir durante la implementación?
Al intentar compilar una aplicación de producción con Service Workers, puede surgir un error debido a la duplicidad de archivos o referencias incorrectas en el app.module. Es crucial revisar los módulos del proyecto y garantizar que las referencias sean correctas.
@NgModule({ declarations: [ // Componentes aquí ], imports: [ // Otros módulos aquí ServiceWorkerModule.register('ngsw-worker.js', { enabled: environment.production, registrationStrategy: 'registerWhenStable:30000' }) ], // ... }) export class AppModule { }
¿Cómo probar y depurar Service Workers en producción?
Una vez que la aplicación esté configurada para producción, es importante probarla en un ambiente similar al real. Utiliza un pequeño servidor HTTP para desplegarla y verifica que el Service Worker funcione correctamente.
- Usa herramientas de desarrollo en el navegador para revisar los recursos en caché y el manifiesto.
- Limpia manualmente el caché si ves que no se reflejan los cambios.
Beneficios y consideraciones de rendimiento
Implementar un Service Worker mejora la experiencia del usuario al:
- Reducir tiempos de carga: Los archivos almacenados localmente cargan mucho más rápido después de la primera visita.
- Optimizar peticiones: Almacenando en caché ciertas solicitudes, se evitan los tiempos de espera derivados de solicitudes al servidor.
Sin embargo, la primera carga puede ser más lenta debido a la precarga de recursos. En proyectos de gran escala, considera estrategias avanzadas, como carga diferida o segmentación de bundles.
Recursos adicionales
Para un entendimiento más profundo, te recomendamos revisar el curso Aplicaciones Web Progresivas en Platzi donde se exploran más a fondo las capacidades y personalizaciones de Service Workers para distintos tipos de aplicaciones.