.NET 9 es una nueva versión STS (Standard-Term Support o soporte técnico estándar) que presenta Microsoft como sucesora de la versión .NET 8. Tiene un enfoque especial en el rendimiento y las aplicaciones nativas de la nube, y ofrece soporte por un período de 18 meses.
¡Ya está disponible en Hosting Compartido, VPS y Dedicados de dinahosting!
En este post te contamos las mejoras, las actualizaciones y los avances de desarrollo y rendimiento que incorpora .NET 9. ¡Descubre todas las novedades!
Índice de contenidos
Mejoras en el entorno de ejecución .NET y de rendimiento
Reducción de la sobrecarga en el recolector de basura (GC)
El rendimiento del recolector de basura ha sido optimizado para manejar mejor las aplicaciones de gran tamaño, reduciendo las pausas y mejorando la eficiencia del uso de memoria. En esta nueva versión el recolector de basura se adapta dinámicamente al tamaño de la aplicación.
Optimización de bucles
Estas optimizaciones están destinadas a que el código se ejecute más rápido al reducir la sobrecarga de las iteraciones de bucles y las llamadas a funciones repetidas.
Se implementa de manera nativa el desenrollado de bucles, que permite al compilador expandir el cuerpo del bucle para minimizar las verificaciones de condiciones. El uso de inlining permite al compilador reemplazar la llamada a una función por el cuerpo de la misma. De esta forma mejora el rendimiento en bucles intensivos.
Mejoras en el tiempo de arranque
Los tiempos de inicio para aplicaciones web y de consola han sido optimizados. Esto permite una ejecución más rápida y eficiente, especialmente, en aplicaciones que utilizan contenedores.
Nuevo modelo de atributos para conmutadores de funcionalidades
El nuevo modelo de atributos para conmutadores de funcionalidades (feature switches) con soporte de recorte (trimming) permite controlar qué características de una aplicación se incluirán en la compilación final dependiendo de si están o no activas, ayudando a reducir el tamaño del binario.
Optimización en el manejo de excepciones
El manejo de excepciones ha sido optimizado consiguiendo una gestión entre dos y cuatro veces más rápida.
Más flexibilidad para los tipos genéricos
Los tipos genéricos son más flexibles, permitiendo el acceso a campos y propiedades por reflexión de manera más eficiente y con menos restricciones, para escenarios en los que el rendimiento es una prioridad.
ASP.NET Core
Fingerprinting automático de activos web estáticos
La generación automática de versiones con huellas digitales de los activos estáticos, mejora el almacenamiento en caché del navegador y asegura que los usuarios siempre reciban la versión más reciente de un archivo.
Trazabilidad distribuida mejorada para SignalR
Mejora el seguimiento de las llamadas a métodos de hubs de SignalR en aplicaciones distribuidas, facilitando el diagnóstico y la resolución de problemas en la comunicación en tiempo real.
Renderizado flexible y rendimiento mejorado en Blazor
Blazor introduce mejoras significativas, como modos de renderizado personalizables por página, una autenticación más sencilla para WebAssembly y compresión de WebSocket habilitada por defecto. Esto optimiza la transmisión de datos en tiempo real y mejora la experiencia del usuario.
Actualizaciones en bibliotecas
System.Text.Json
Introduce mejoras para respetar las anotaciones de tipos nullables, lo que permite una validación más estricta de valores nulos durante la serialización y deserialización, mejorando la interoperabilidad y la documentación automática de APIs.
LINQ
Incluye nuevos métodos que permiten realizar agregaciones directamente sobre colecciones, optimizando el rendimiento al evitar agrupaciones intermedias innecesarias.
Base64Url
Introduce Base64Url, que proporciona métodos para codificación y decodificación eficientes, optimizando el manejo de datos binarios.
Mejoras en seguridad
Auditorías de Seguridad en NuGet
.NET 9 introduce auditorías de seguridad para paquetes NuGet, verificando automáticamente las referencias directas y transitivas contra vulnerabilidades conocidas. Esto ayuda a los desarrolladores a identificar y mitigar riesgos de seguridad en sus dependencias.
Nueva API para generación de hash
Esta nueva API permite generar un hash o HMAC de manera eficiente con una sola entrada, mejorando la flexibilidad y seguridad en operaciones criptográficas.
Inclusión del algoritmo KMAC
El algoritmo KMAC ofrece una función hash con clave basada en KECCAK, disponible en Linux y Windows 11, que proporciona una opción más segura para la autenticación de mensajes.
C# 13
La nueva versión de C# introduce nuevas características orientadas a la simplificación del código, la reducción de errores y la mejora de la productividad.
Entre las novedades más destacadas se encuentran el nuevo tipo y semántica de lock, que mejora la gestión de la concurrencia proporcionando una forma más segura y eficiente de manejar la sincronización. También el soporte para colecciones en parámetros (params collections), que permite un uso más flexible de los parámetros de tipo colección.
Además, se incluyen mejoras en los tipos naturales de grupo de métodos para una resolución de sobrecargas más eficiente y mejoras en la inicialización de objetos con indexadores implícitos.
Integración de la IA
Acceso mejorado a modelos de IA
.NET 9 introduce nuevas características que facilitan el acceso a modelos de OpenAI y de código abierto, proporcionando bibliotecas y documentación para integrar capacidades avanzadas de inteligencia artificial en aplicaciones, mejorando así la funcionalidad y automatización.
En resumen
La versión 9 de .NET llega con muchas mejoras y nuevas características que buscan simplificar el desarrollo de aplicaciones, mejorar el rendimiento y ampliar la compatibilidad con tecnologías modernas.
Estas novedades abarcan desde un gran número de optimizaciones de rendimiento, hasta nuevas herramientas para el desarrollo web y la integración con modelos de IA.
Para desarrollo web, las mejoras más destacadas incluyen el fingerprinting automático de activos web estáticos, una mejor trazabilidad distribuida para SignalR y mejoras en el rendimiento y el renderizado de Blazor.
Con estas actualizaciones que buscan mejorar la eficiencia y las capacidades de las aplicaciones web modernas, Microsoft sigue mostrando su compromiso con la comunidad de desarrolladores.
Deja una respuesta