TypeScript 5.0, Mejoras en velocidad, memoria y tamaño

Publicado el

typescript

TypeScript 5.0, la última versión del popular lenguaje de programación basado en JavaScript, ofrece una serie de mejoras importantes en términos de velocidad, memoria y tamaño.

Veamos ahora cuáles son las principales mejoras de TypeScript 5.0, incluyendo su impacto en la velocidad de compilación y la reducción del tamaño de los paquetes.

Migración a módulos

Una de las mejoras más notables en TypeScript 5.0 es la migración de namespaces a módulos. Esto permite aprovechar herramientas modernas de construcción que pueden realizar optimizaciones como scope hoisting. Al revisar nuestra estrategia de empaquetado y eliminar algunos códigos obsoletos, se logró reducir alrededor de 26.4 MB del tamaño del paquete de TypeScript 4.9, que era de 63.8 MB. También logramos una notable aceleración a través de llamadas directas a funciones.

Mejoras en la memoria

TypeScript agregó más uniformidad a los tipos de objetos internos dentro del compilador y redujo los datos almacenados en algunos de estos tipos de objetos. Esto redujo las operaciones polimórficas, mientras se equilibraba el aumento en el uso de memoria que se produjo al hacer que nuestras formas de objeto fueran más uniformes.

Caché de serialización de información

Se realizó alguna caché al serializar información a cadenas de caracteres. La visualización de tipos, que puede ocurrir como parte de la generación de errores, la emisión de declaraciones, las sugerencias de código, etc., puede resultar bastante costosa. TypeScript ahora almacena en caché algunas herramientas comúnmente utilizadas para reutilizarlas en estas operaciones.

Cambios en lib.d.ts

Los cambios en cómo se generan los tipos para el DOM pueden tener un impacto en el código existente. En particular, ciertas propiedades se han convertido de números a tipos literales numéricos, y las propiedades y métodos para el manejo de eventos de corte, copia y pegado se han movido entre interfaces.

Cambios en la API

En TypeScript 5.0, se han eliminado algunas interfaces innecesarias y se han realizado algunas mejoras de corrección. Para obtener más detalles sobre lo que ha cambiado, consulte nuestra página de Cambios en la API.

Enum Overhaul

TypeScript ha tenido algunas peculiaridades de larga data en torno a las enumeraciones desde su primer lanzamiento. En 5.0, se están resolviendo algunos de estos problemas y reduciendo la cantidad de conceptos necesarios para comprender los diversos tipos de enumeraciones que se pueden declarar.

Cambios predeterminados

En TypeScript 5.0, se han degradado los siguientes valores de configuración y configuraciones:

  • –target: ES3
  • –out
  • –noImplicitUseStrict
  • –keyofStringsOnly
  • –suppressExcessPropertyErrors
  • –suppressImplicitAnyIndexErrors
  • –noStrictGenericChecks
  • –charset
  • –importsNotUsedAsValues
  • –preserveValueImports
  • prepend in project references

Estas configuraciones seguirán siendo permitidas hasta TypeScript 5.5, momento en el que se eliminarán por completo.

Más allá de las mejoras en la velocidad y la reducción del tamaño de paquetes, TypeScript 5.0 también trae consigo una serie de cambios y deprecaciones que pueden afectar al código existente. Por ejemplo, se ha cambiado cómo se generan los tipos para el DOM, lo que puede tener un impacto en el código existente. Además, se han eliminado algunas interfaces innecesarias y se han realizado algunas mejoras de corrección. También se han deprecado algunas configuraciones, como –target: ES3 o –out, y se han realizado algunos cambios en las configuraciones predeterminadas para mejorar el comportamiento entre plataformas.

A pesar de estos cambios, TypeScript sigue siendo una opción sólida y popular para desarrolladores de todo el mundo. Gracias a su capacidad de proporcionar tipos estáticos y una mejor capacidad de refactoring, TypeScript ayuda a garantizar la calidad del código y la eficiencia del desarrollo. Y con las mejoras de rendimiento y reducción de tamaño de paquetes en la versión 5.0, es una opción aún más atractiva para aquellos que buscan mejorar la eficiencia del desarrollo de sus proyectos.

En última instancia, el éxito de TypeScript es un testimonio de la importancia de la escritura de código de calidad y la inversión en herramientas que ayuden a garantizar esta calidad. Como comunidad de desarrolladores, debemos seguir trabajando juntos para mejorar nuestras prácticas de desarrollo y nuestras herramientas, y TypeScript es un paso importante en este camino. Con su enfoque en la corrección y la eficiencia, TypeScript es una herramienta que vale la pena explorar para cualquier desarrollador interesado en mejorar su proceso de desarrollo.

Más detalles en devblogs.microsoft.com y en typescriptlang.org.

Comparte en: