.NET 8 Preview 1 ya está disponible. Microsoft tiene previsto realizar previsualizaciones mensuales y la disponibilidad general está prevista para otoño.
.NET 8, la próxima versión prevista de la plataforma de desarrollo de software de código abierto de Microsoft, hará hincapié en las adaptaciones a Linux, así como en el desarrollo en la nube y los contenedores.
Puede leer también | Microsoft .NET 7 se lanza con mejor soporte para Linux y mayor rendimiento
Una primera versión preliminar de .NET 8 está disponible para su descarga en dot.microsoft.com para Windows, Linux y macOS, según informó Microsoft el 21 de febrero. La versión .NET 8, que recibirá soporte a largo plazo durante tres años, estará disponible para producción en noviembre, un año después del lanzamiento de su predecesora .NET 7.
Puede leer también | Microsoft .NET 6 ya esta disponible en Ubuntu Linux
La nueva versión de .NET se podrá compilar en Linux directamente desde el repositorio dotnet/dotnet, utilizando dotnet/source-build para compilar los tiempos de ejecución, herramientas y SDK de .NET. Se trata de la misma compilación utilizada por Red Hat y Canonical para compilar .NET. Con el tiempo, esta capacidad se ampliará para dar soporte a Windows y macOS. Anteriormente, .NET se podía compilar a partir del código fuente, pero se necesitaba un "tarball de código fuente" del dotnet/installer.
- .NET 8 también incluirá imágenes Ubuntu Chiseled para informática de tipo appliance. Y se actualizan las líneas de base mínimas para Linux; el producto .NET se creará con Ubuntu 16.04, para todas las arquitecturas. En cuanto a Red Hat Enterprise Linux, .NET 8 será compatible con RHEL 8 y abandonará RHEL 7.
- Para el desarrollo nativo en la nube, .NET 8 presenta mejoras en el uso de imágenes de contenedor para aplicaciones .NET, incluida la publicación de imágenes de contenedor sin capacidad de raíz. Esto aparece en .NET 8 Preview 1. Microsoft explicó que, aunque las imágenes base de contenedor suelen estar configuradas para ejecutarse con el usuario root, esto no siempre es lo mejor. Las imágenes de contenedor de .NET 8 utilizarán Debian 12 (Bookworm) Linux, previsto para mediados de año.
- Las versiones preliminares y candidatas de .NET 8 se publicarán mensualmente. Otras funciones de .NET 8 son
- La compilación NativeAOT (ahead-of-time), que ofrece ventajas como la reducción de la huella de memoria y la mejora del tiempo de arranque, se está ampliando a más escenarios de aplicaciones de destino. En .NET 7, NativeAOT se centraba en las aplicaciones de consola.
- Las mejoras de JSON en la Preview 1 incluyen la gestión de miembros que faltan, con .NET capaz de configurar el comportamiento de deserialización de objetos cuando la carga útil JSON subyacente incluye propiedades que no se pueden asignar a miembros del tipo POCO deserializado. Además, el generador de fuentes para JSON ahora admite la serialización de tipos con propiedades requeridas e init, y System.Text.Json ahora admite la serialización de propiedades de jerarquías de interfaces.
- Se han añadido nuevos tipos a las bibliotecas básicas para permitir a los desarrolladores mejorar el rendimiento del código en escenarios comunes. El espacio de nombres System.Collections.Frozen, por ejemplo, proporciona FrozenDictionary<TKey, TValue> y FrozenSet<T>. Estos tipos proporcionan una superficie inmutable en la que no se permiten cambios en las claves ni en los valores. También se han añadido algoritmos hash centrados en el rendimiento, incluidos los tipos XxHash3 y XxHash128.
Para el SDK .NET, dotnet publish y dotnet pack producen activos Release por defecto.
Puede leer también | NUnit : ya está utilizando herramientas de código abierto para probar el código .NET
Los planes para el marco de desarrollo multiplataforma .NET MAUI (Multi-platform App UI) para el plazo de desarrollo de .NET 8 incluyen la mejora de la ruta de actualización de Xamarin a .NET, la aceleración de la representación de la interfaz de usuario y la reducción del tiempo de bucle interno del desarrollador. Con .NET MAUI, los desarrolladores pueden crear aplicaciones móviles y de escritorio nativas con C# y XAML.