Boost Academy
FormaciónEvaluacionesPerfil
Volver
  • En directo

TypeScript — Avanzado

8h de clase en directo·HACK A BOSS·Español

Skills que aprenderás

  • TypeScript

Convocatorias

Necesitas un plan activo

Para acceder a los cursos en directo necesitas un plan activo. Estamos trabajando para que los planes estén disponibles pronto — ¡mantente atento!

No hay convocatorias abiertas ahora mismo, pero no te pierdas la oportunidad: guarda este curso y te avisamos en cuanto se abra una convocatoria.

Descripción

Objetivos

Temario

Requisitos técnicos

Conocimientos previos

Detalles de la convocatoria

Recursos

No hay recursos disponibles todavía para esta convocatoria

Curso dirigido a desarrolladoras y desarrolladores con experiencia consolidada en TypeScript que buscan dominar las técnicas de nivel experto necesarias para diseñar sistemas de tipos robustos, mantener bases de código de gran escala y garantizar la calidad de los contratos de tipos en entornos profesionales. A lo largo de las 8 horas, el participante trabajará con herramientas avanzadas del sistema de tipos —tipos condicionales, mapped types, branded types, discriminated unions y varianza genérica—, optimizará la configuración del compilador en proyectos multi-paquete y monorepos, y aprenderá a automatizar la validación de tipos en pipelines de integración continua; al finalizar, será capaz de tomar decisiones de arquitectura de tipos fundamentadas, anticipar los efectos del compilador ante asignaciones complejas y dejar un proyecto en un estado de tipado explícito, medible y sostenible.

  1. Comprender el modelo de varianza de TypeScript —covarianza y contravarianza— y su efecto en parámetros genéricos de funciones de orden superior, así como los trade-offs técnicos que justifican o cuestionan el uso de any, unknown y aserciones de tipo en una base de código existente.
  2. Diseñar una librería de utilidades de tipos reutilizables mediante mapped types, tipos condicionales e infer, modelando el dominio de una feature compleja con discriminated unions y branded types de forma que los estados inválidos resulten irrepresentables en tiempo de compilación.
  3. Optimizar la configuración del compilador en escenarios multi-paquete y monorepo —aplicando project references, composite, skipLibCheck e isolatedModules— y automatizar la validación del contrato de tipos públicos de una librería integrando herramientas de test de tipos en un pipeline de CI/CD, con métricas objetivas que demuestren el impacto de las decisiones adoptadas.

Bloque 1 — Sistema de tipos avanzado: fundamentos teóricos y críticos. Se estudia el modelo de varianza del compilador de TypeScript, analizando cómo la covarianza y la contravarianza afectan a los parámetros genéricos en funciones de orden superior y en qué situaciones el compilador produce falsos positivos o falsos negativos que el desarrollador debe saber corregir o justificar. En paralelo, se realiza una revisión crítica del uso de any, unknown y aserciones de tipo (as): el participante aprende a leer una base de código existente, identificar cada ocurrencia y documentar el argumento técnico de trade-off que la respalda o la invalida.

Bloque 2 — Arquitectura de tipos orientada al dominio. Este bloque aborda la construcción de sistemas de utilidades de tipos reutilizables mediante mapped types, tipos condicionales y la palabra clave infer, aplicados a problemas de dominio reales sin recurrir a any ni aserciones injustificadas. Se complementa con el modelado avanzado de features complejas usando discriminated unions y branded types, persiguiendo el principio de hacer que los estados inválidos sean irrepresentables ya en tiempo de compilación.

Bloque 3 — Configuración del compilador a escala. Se profundiza en la optimización de tsconfig.json en proyectos multi-paquete mediante project references y la opción composite, reduciendo el tiempo de compilación incremental y eliminando errores de resolución entre paquetes. Se amplía la perspectiva al contexto monorepo, donde se aplican técnicas de segmentación como skipLibCheck, isolatedModules e incremental builds, midiendo el impacto antes y después con métricas objetivas que permitan tomar decisiones informadas.

Bloque 4 — Calidad de tipos en CI/CD y decisiones de adopción tecnológica. Se cierra el curso automatizando la validación del contrato de tipos públicos de una librería dentro de un pipeline de integración continua, integrando herramientas de test de tipos —tsd, expect-type o equivalentes— de modo que una regresión de tipos falle el build de forma explícita y trazable. Finalmente, se evalúan los trade-offs de adoptar decorators experimentales frente a la propuesta TC39 Stage 3, aprendiendo a seleccionar la estrategia adecuada según el contexto de compilador y runtime del proyecto.

  • Node.js ≥ 18 LTS instalado localmente.
  • TypeScript ≥ 5.x instalado de forma global o como dependencia de desarrollo del proyecto de prácticas.
  • Editor con soporte TypeScript de primera clase (Visual Studio Code con la extensión oficial de TypeScript recomendada).
  • Acceso a un entorno de CI/CD funcional (GitHub Actions, GitLab CI o equivalente) para los ejercicios del Bloque 4.
  • Gestor de paquetes compatible con workspaces (npm ≥ 8, pnpm ≥ 8 o Yarn ≥ 3) para los ejercicios de monorepo.
  • Acceso a internet para consultar la documentación oficial de TypeScript y la especificación TC39.

Se requiere haber completado el curso TTS02 (TypeScript — Intermedio) o acreditar un dominio equivalente. El participante debe manejar con soltura los genéricos, las interfaces avanzadas, los type guards y la configuración básica de tsconfig.json, así como tener experiencia real trabajando con TypeScript en proyectos de producción. Sin estos fundamentos, los contenidos del curso resultarán difíciles de asimilar y de aplicar con criterio.