[18/04/2022] Con la Preview 3 de la prevista plataforma de desarrollo de software .NET 7 de Microsoft, la compañía ha actualizado las capacidades en áreas como la compilación nativa AOT (ahead of time), la generación de código, las regiones GC y los tiempos de arranque.
Disponible en dotnet.microsoft.com, Microsoft .NET 7 Preview 3 se publicó el 13 de abril. Se ha actualizado Native AOT, que promete una precompilación nativa completa en los escenarios de cliente y servidor de escritorio de .NET. Para .NET 7, Microsoft apunta a las aplicaciones de consola y a las bibliotecas nativas como los principales escenarios para Native AOT. Los desarrolladores y los autores de bibliotecas ahora pueden aprovechar las ventajas de Native AOT asegurándose de que las aplicaciones sean recortables, lo cual es un requisito para Native AOT.
Una de las aplicaciones que se espera compilar con Native AOT en .NET 7 es la herramienta crossgen, que sirve como compilador de CoreCLR AOT que produce ejecutables ReadytoRun. Crossgen ha demostrado ser prometedor en términos de velocidad y tamaño de compilación. En el futuro, se mejorará la compatibilidad con AOT nativo en .NET, pero habrá razones para preferir la compilación JIT (just in time) en muchos escenarios, señaló Microsoft.
El AOT nativo dejó de ser experimental y pasó a ser de desarrollo principal con .NET 7. El AOT nativo aporta ventajas en cuanto a tiempo de inicio, uso de memoria, acceso a plataformas restringidas y menor tamaño en disco. Solo se producen artefactos nativos a través de Native AOT.
Microsoft .NET 7 Preview 3 es la continuación de una segunda versión preliminar publicada el 14 de marzo. Se espera una versión de producción en noviembre del 2022. Para probar .NET 7 con Visual Studio, Microsoft recomienda utilizar las compilaciones del canal de vista previa.
Otras novedades y mejoras de .NET 7 Preview 3:
- Se han mejorado los tiempos de inicio con Write-Xor-Execute activado.
- La generación de código y el JIT se benefician de varias optimizaciones y correcciones de errores.
- El trabajo con certificados de criptografía se ha simplificado con la introducción de una clase que proporciona más claridad para el análisis sintáctico de los nombres X.500.
- La funcionalidad de las regiones GC, que debería mejorar la utilización de la memoria para las aplicaciones de alto rendimiento, se ha activado por defecto. Ahora está habilitada para todas las plataformas, excepto MacOS y AOT nativo.
- Se ha actualizado el marco de extensibilidad gestionado para alinearlo con las API de la versión anterior. Estas APIs permiten una única instancia de objeto al System.Composition.Hosting.Container.
- Se mejoró la compatibilidad con la especificación OpenTelemetry nativa de la nube para que el estado de rastreo sea mutable para los muestreadores.
Basado en el artículo de Paul Krill (InfoWorld) y editado por CIO Perú