TypeScript: el coste que merece la pena
TypeScript añade fricción al desarrollo. También previene errores, mejora la documentación y hace el código más mantenible. El intercambio vale la pena.
El argumento en contra
TypeScript ralentiza el desarrollo inicial. Tienes que escribir más código, definir tipos, lidiar con errores del compilador que a veces parecen innecesarios. En JavaScript puro, simplemente funciona.
Este argumento tiene mérito, especialmente para prototipos rápidos o scripts pequeños. La pregunta es si el coste inicial se compensa con beneficios posteriores.
Lo que TypeScript realmente hace
TypeScript no hace tu código más rápido en ejecución. El navegador ejecuta JavaScript, no TypeScript. Lo que hace es mover errores del runtime al tiempo de compilación.
Un error que en JavaScript descubrirías cuando un usuario hace clic en un botón y algo falla, en TypeScript lo descubres mientras escribes el código. Antes de guardar el archivo, antes de ejecutar nada.
Documentación que no miente
Los comentarios pueden mentir. El código cambia y los comentarios quedan obsoletos. Los tipos no pueden mentir porque el compilador los verifica.
Cuando una función declara que recibe un objeto con ciertas propiedades, ese contrato se cumple o el código no compila. No hay ambigüedad, no hay sorpresas.
Esto es especialmente valioso en equipos, donde alguien puede cambiar una función sin saber quién más la usa. Los tipos hacen explícitas las dependencias.
El efecto en el refactoring
Refactorizar código JavaScript da miedo. Cambias el nombre de una función y esperas no haber roto nada. Ejecutas la aplicación, pruebas manualmente, cruzas los dedos.
En TypeScript, cambias el nombre y el compilador te muestra exactamente cada lugar donde se usa. Sabes inmediatamente qué más necesitas cambiar. La confianza para refactorizar aumenta dramáticamente.
Cuándo no usar TypeScript
Para scripts pequeños y desechables, el overhead no tiene sentido.
Para prototipos que explorar ideas sin compromiso con la implementación final, la flexibilidad de JavaScript puede ser preferible.
Cuando el equipo no conoce TypeScript y no hay tiempo para aprenderlo, forzarlo genera frustración sin beneficios.
Cuándo sí usar TypeScript
Cualquier proyecto que vaya a mantenerse más de unos meses.
Proyectos con más de una persona trabajando en el código.
Código que otros consumirán como librería o API.
Aplicaciones donde los errores tienen consecuencias significativas.
Merece la pena
TypeScript no es perfecto. A veces el sistema de tipos se siente como un obstáculo, especialmente con patrones dinámicos de JavaScript.
Pero para proyectos serios con vida útil larga, la inversión inicial se paga con creces en errores evitados, refactoring más seguro y código más comprensible.
El coste existe. Merece la pena pagarlo.