Curso de Angular 20: desarrollo aplicaciones web escalables (Programa detallado)

Objetivo:

Desarrollar aplicaciones web utilizando Angular 20.

Dirigido a:

Desarrolladores web que:

  • Quieren aprender Angular desde cero con su nueva arquitectura moderna (standalone components, signals, provideRouter, etc.).
  • Desean actualizarse a Angular 20 si vienen de versiones anteriores del framework.
  • Buscan una alternativa robusta a React o Vue para aplicaciones empresariales.

Estudiantes de programación o formación técnica que:

  • Necesitan aprender un framework frontend orientado a producción y ampliamente usado en el sector corporativo.

Equipos de desarrollo o empresas que:

  • Requieren formación actualizada en Angular para escalar sus proyectos internos.
  • Buscan mantener la cohesión técnica en el stack frontend de su organización.
  • Trabajan o planean trabajar con proyectos de larga duración y arquitectura sólida.

Requisitos:

  • Conocimientos básicos de HTML, CSS y JavaScript moderno (ES6+)
  • No se necesita experiencia previa con Angular u otros frameworks.

PROGRAMA DEL CURSO

1.- Introducción a Angular y preparación del entorno

Objetivo

Identificar los conceptos fundamentales de Angular y describir el proceso de preparación del entorno de desarrollo.

Contenido

  1. Introducción a Angular y preparación del entorno
    1. ¿Qué es Angular y qué resuelve?
    2. Angular: fundamentos clave
    3. Angular vs otros frameworks
    4. Preparar el entorno
    5. Crear el primer proyecto Angular
    6. Resumen

2.- Componentes en profundidad

Objetivo

Aplicar la creación y gestión de componentes en una aplicación Angular.

Contenido

  1. Componentes en profundidad
    1. Declaración de Componentes y Standalone Components
    2. Comunicación entre componentes con @Input y @Output
    3. Ciclo de vida del componente
    4. Estilos: encapsulados y globales
    5. Resumen

3.- Templates, directivas y pipes

Objetivo

Usar templates, directivas y pipes para estructurar y manipular la vista en Angular.

Contenido

  1. Templates, directivas y pipes
    1. Binding de datos en plantillas
    2. Directivas estructurales
    3. Directivas de atributo
    4. Pipes integrados
    5. Creación de pipes personalizados
    6. Resumen

4.- Enrutamiento con provideRouter

Objetivo

Configurar el enrutamiento en aplicaciones Angular utilizando provideRouter.

Contenido

  1. Enrutamiento con provideRouter
    1. Fundamentos del routing en Angular 20
    2. Configuración de rutas con provideRouter y Route
    3. Navegación entre vistas
    4. Parámetros de ruta y query params
    5. Lazy loading moderno
    6. Guards básicos
    7. Caso práctico: aplicación de un restaurante
    8. Resumen

5.- Servicios e inyección de dependencias

Objetivo

Implementar servicios y aplicar inyección de dependencias para gestionar la lógica de negocio.

Contenido

  1. Servicios e inyección de dependencias
    1. Introducción a los servicios
    2. Creación e inyección de servicios
    3. Ámbito y ciclo de vida de servicios
    4. Comunicación HTTP con HttpClient
    5. Manejo básico de errores en peticiones HTTP
    6. Interceptors HTTP para manejo global de peticiones y errores
    7. Lazy services y carga perezosa de servicios
    8. Resumen

6.- Formularios template-driven

Objetivo

Crear formularios template-driven para capturar y validar datos de usuario.

Contenido

  1. Formularios template-driven
    1. Estructura básica de formularios template-driven
    2. Binding y sincronización con ngModel
    3. Validaciones básicas en formularios template-driven
    4. Mostrar mensajes de error
    5. Formularios anidados simples
    6. Resumen

7.- Formularios reactivos

Objetivo

Construir formularios reactivos y gestionar su estado y validaciones.

Contenido

  1. Formularios reactivos
    1. Introducción a formularios reactivos
    2. Validaciones reactivas
    3. Manejo programático de errores
    4. Validadores personalizados
    5. Validación de formularios complejos
    6. Resumen

8.- Signals y estado reactivo

Objetivo

Utilizar signals para gestionar el estado reactivo en aplicaciones Angular.

Contenido

  1. Signals y estado reactivo
    1. Introducción a Signals
    2. API básica de Signals
    3. Estado local reactivo sin necesidad de Observables
    4. Uso de Signals en templates Angular
    5. Diferencias entre Signals y RxJS
    6. Integración y coexistencia entre Signals y RxJS
    7. Resumen

9.- Comunicación avanzada y manejo de estado

Objetivo

Implementar técnicas avanzadas de comunicación entre componentes y manejo de estado.

Contenido

  1. Comunicación avanzada y manejo de estado
    1. Comunicación entre componentes hermanos
    2. Comparativa: EventEmitter vs Subject
    3. Patrones de arquitectura recomendados para manejo de estado
    4. Uso básico de BehaviorSubject y Signals compartidos
    5. Introducción a estado compartido simple sin NgRx
    6. Conceptos de gestión de estado reactivo a mayor escala (sin librerías externas)
    7. Resumen

10.- Testing de componentes y servicios

Objetivo

Desarrollar pruebas para componentes y servicios en Angular para asegurar su correcto funcionamiento.

Contenido

  1. Testing de componentes y servicios
    1. Importancia de testear en Angular
    2. Configuración del entorno de testing
    3. Pruebas de componentes
    4. Pruebas de servicios
    5. Pruebas de formularios
    6. Introducción a pruebas end-to-end (E2E) con Cypress o Playwright
    7. Resumen

11.- Arquitectura escalable y buenas prácticas

Objetivo

Describir arquitecturas escalables y aplicar buenas prácticas en el desarrollo de aplicaciones Angular.

Contenido

  1. Arquitectura escalable y buenas prácticas
    1. Organización por features (Feature Folders)
    2. Reutilización de componentes y servicios
    3. Nomenclatura, rutas y estructura limpia
    4. Introducción a NgModules
    5. Migración y coexistencia entre NgModules y Standalone Components
    6. Monorepos y herramientas para proyectos grandes (Nx)
    7. Buenas prácticas de seguridad en Angular
    8. Resumen

12.- Despliegue y optimización para producción

Objetivo

Optimizar y desplegar aplicaciones Angular para producción.

Contenido

  1. Despliegue y optimización para producción
    1. Variables de entorno
    2. Comandos de build para producción
    3. Técnicas de lazy loading para mejorar performance
    4. Opciones populares para despliegue
    5. Análisis de bundles y optimización avanzada (tree shaking, preloading)
    6. Monitorización post-despliegue y feedback de usuarios
    7. Resumen