Bienvenidos a todos a JS Nation. Hoy, daré mi charla sobre la integración de NodeJS y TypeScript, algo que tomó muchos años pero finalmente ha llegado. Así que permítanme presentarme. Mi nombre es Marco Ippolito. Soy un ingeniero de seguridad senior en Herodevs y miembro del Comité de Dirección Técnica de NodeJS.
Así que comencemos con un poco de clase de historia. Entonces, en la época de los seres humanos, hubo un tiempo en que los humanos solían escribir código en JavaScript, y de alguna manera hoy hemos hecho la transición a TypeScript. Pero, ¿cómo sucedió esto y cómo era la Tierra hace algunos años? Así que este es el estado de JavaScript en 2016. Podemos ver que en ese momento, el panorama de los frameworks y lenguajes de JS era un poco diferente. Había lenguajes como M y ClojureScript y CoffeeScript. Y TypeScript nació unos años antes, en 2014, pero realmente no era tan popular como hoy en ese momento.
De hecho, podemos ver que solo el 39% de los encuestados mencionaron que habían oído hablar de TypeScript y les gustaría probarlo. Así que en ese momento, hace casi 10 años, era algo nuevo y no muy conocido. Pero si miramos hoy, esto es 2024, GitHub, los principales lenguajes de programación, podemos ver que TypeScript es el número tres y está en ascenso. Y también, según GitHub, también es el segundo lenguaje de programación de más rápido crecimiento. Bueno, después de Python debido a la IA. Pero TypeScript está en ascenso. Así que en Node.js, siempre hemos recibido muchos problemas y solicitudes, solicitudes de características sobre la integración de TypeScript de forma nativa a lo largo de los años. Pero el problema con la integración de TypeScript de forma nativa en Node es que el más grande es que TypeScript y Node.js tienen diferentes garantías de estabilidad. Así que, por ejemplo, TypeScript no sigue Sambar y cada versión menor tiene cambios incompatibles. Y esto hace que sea difícil integrarlo dentro de Node.js. Tiene un seguimiento estricto de Sambar y tiene un ciclo de lanzamiento de tres años. Así que durante esos tres años, no podemos hacer cambios incompatibles. Y por lo tanto, no podemos actualizar las versiones de TypeScript. Otro gran problema es que Node.js sufrió algunos problemas con la interoperabilidad de Common JS y ESM. Esos problemas se han solucionado en Node.20. Así que esto fue un problema en versiones anteriores. Otro problema es que TypeScript requiere mapas de origen y los mapas de origen son lentos y propensos a errores. Y es algo que realmente no quieres a menos que sea necesario.
Comments