Curso de TypeScript — de cero a un programa que se sostiene
Por Dorian Chávez, fundador de Hábil y arquitecto de integración. Así enseñamos a quienes construyen sistemas que no pueden fallar.
Para quién es: quien ya llevó el curso de Go de esta casa, o quien programa en JavaScript y quiere dejar de descubrir los errores en producción. No se supone experiencia previa con tipos: cada concepto se explica cuando aparece, y se explica por qué existe, no solo cómo se escribe.
Qué vas a terminar sabiendo: escribir un programa completo con tipos, entender lo que escribiste y poder explicárselo a alguien más.
Lo que necesitas antes de empezar: una computadora con Linux Mint y saber abrir una terminal. La Lección 1 instala todo desde cero.
El proyecto que vas a construir
El revisor: una API que consulta una lista de servicios a la vez y un panel web que muestra el reporte, con los tipos compartidos entre los dos. Es el mismo problema del curso de Go, resuelto ahora en TypeScript.
Las diez lecciones
| Lección | Qué construyes | Qué aprendes | |
|---|---|---|---|
| 0 | Qué es TypeScript y qué NO es | nada todavía (lectura) | JS vs TS; los tipos se borran al ejecutar; qué protege y qué no; por qué strict |
| 1 | Instalar TypeScript en tu Linux Mint | el entorno y tu primer programa | Node LTS, tsc, editor, tsconfig estricto, ejecutar y depurar |
| 2 | Tipos, funciones e inferencia | las funciones base del revisor |
primitivos, inferencia, uniones y literales, narrowing, null y undefined |
| 3 | Objetos y el modelo de datos | el modelo Servicio / Estado |
type vs interface, tipado estructural, readonly, uniones discriminadas |
| 4 | Colecciones, genéricos y errores | la lista de servicios y el reporte | arreglos, Map/Set, genéricos, tipos utilitarios, errores |
| 5 | Asincronía: que revise todo a la vez | el revisor concurrente |
event loop, promesas, async/await, Promise.all vs allSettled, AbortController |
| 6 | Datos que llegan de fuera | validación de configuración y respuestas | validar en la frontera; tipos derivados del esquema |
| 7 | Módulos, pruebas y calidad | el proyecto de verdad, con pruebas | módulos ESM, pruebas con tabla de casos, lint y formato |
| 8 | El servidor | la API HTTP del revisor |
servidor HTTP, rutas tipadas, JSON, configuración, cierre ordenado |
| 9 | La pantalla y el programa terminado | el panel web y el paquete final | React con TypeScript y hooks, tipos compartidos, XSS, compilar y publicar |
Al final de cada lección hay ejercicios con sus soluciones. Y la bitácora es tuya: anota ahí lo que te costó.
Lecciones
- Lección 0 — Qué es TypeScript y qué NO es
- Lección 1 — Instalar TypeScript en tu Linux Mint
- Lección 2 — Tipos, funciones e inferencia
- Lección 3 — Objetos y el modelo de datos
- Lección 4 — Colecciones, genéricos y errores
- Lección 5 — Asincronía: que revise todo a la vez
- Lección 6 — Datos que llegan de fuera
- Lección 7 — Módulos, pruebas y calidad
- Lección 8 — El servidor
- Lección 9 — La pantalla y el programa terminado