Entre los cambios de la última 'preview' de .NET 6 y C# 10 se incluyen versiones preliminares de las API de .NET 7

Entre los cambios de la última 'preview' de .NET 6 y C# 10 se incluyen versiones preliminares de las API de .NET 7
9 comentarios Facebook Twitter Flipboard E-mail

El pasado día 10 de agosto, Microsoft publicó la última versión 'preview' de .NET 6.0 (oficialmente, la 6.0.100-preview.7.21379.14), acercándose cada vez más a una versión definitiva (destinada a unificar las platafomas .NET Framework y .NET Core) que debería estar lista para el pasado mes de noviembre.

Entre las novedades introducidas en esta nueva versión, Richard Lander —principal program manager de .NET— destaca la incorporación de nuevas API de asignación de memoria nativa, accesibles a través de System.Runtime.InteropServices.NativeMemory y equivalentes a las API presentes en el lenguaje C:* malloc, free, realloc y calloc*.

Con .NET 6, el lenguaje C# alcanzará su versión 10.0

Esto parece contradictorio con el objetivo para el que fue diseñado C#: ser un lenguaje seguro, no predispuesto a sufrir errores como los desbordamientos de buffer o de uso de memoria no asignada. Sin embargo, Lander lleva a cabo la siguiente reflexión:

"Es posible que te estés preguntando qué pensar acerca de estas API. En primer lugar, son API de bajo nivel, pensadas para código y algoritmos de bajo nivel: los desarrolladores de aplicaciones rara vez o nunca los usarían".

Aquellos que programéis en .NET para Linux seréis felices sabiendo que, por fin, la clase System.IO.Compression.ZipFile es compatible con los permisos del sistema de archivos Unix, permitiendo comprimir y descomprimir archivos ZIP sin necesidad de ir modificando previamente los permisos de archivo.

Un detalle relevante es que .NET 6 incluirá versiones 'preliminares' de características tempranas de su próxima versión .NET 7 y, por tanto, no serán aceptadas en producción:

"hemos creado la capacidad de marcar las API como 'versión preliminar', [y] para usarlas, los proyectos deberán indicar explícitamente el uso de las mismas [pues en caso contrario], veremos errores de compilación".

ASP.NET Core

Otro de los componentes de este framework, ASP.NET Core, también llegará con diversas nuevas características bajo el brazo:

  • Compatibilidad con HTTP/3 o QUIC en Kestrel (el servidor web .NET integrado).
  • Compatibilidad con Blazor (.NET que se ejecuta en el explorador) para la transmisión de datos de JavaScript a .NET; un derivado de esto es que Blazor podrá cargar, a partir de ahora, archivos de más de 2 GB
  • Capacidad mejorada de Blazor para modificar elementos HTML, siendo ahora posible establecer el título de la página y agregar metaelementos al elemento HTML Head.

Visual Studio

Visual Studio también recibirá actualizaciones: esta preview 7 de .NET 6.0 ya incluye la preview 3 del próximo Visual Studio 2022, que agrega un nuevo diseñador de propiedades de proyecto, un tema oscuro mejorado y nuevos tipos de proyecto (admitiendo React y Vue.js con TypeScript o JavaScript).

Otra nueva funcionalidad que se incorporará a la nueva versión de este IDE será la capacidad para trabajar con varios repositorios Git en una única solución.

Vía | Microsoft

Comentarios cerrados
Inicio