Novedades de Microsoft .NET 5

Microsoft ha publicado una sexta vista previa de .NET 5. La vista previa 6 elimina la compatibilidad con WinRT, agrega compatibilidad para formularios Windows Forms en dispositivos Windows ARM64 y continúa extendiendo las mejoras de calidad del código RyuJIT.

Microsoft ha dicho que .NET 5 se completará con las características de la Vista previa 7. .NET 5 es una fusión de .NET Framework y .NET Core que pretende unificar la plataforma .NET. La nueva plataforma está disponible para disponibilidad general el 10 de noviembre de 2020.

Los objetivos de alto nivel para .NET 5 incluyen proporcionar una experiencia de .NET SDK unificada, con un solo BCL (biblioteca de clase base) en todas las aplicaciones .NET 5, y con soporte para aplicaciones nativas y web en múltiples sistemas operativos. Un único proyecto de aplicación nativa .NET 5 admitiría objetivos como Windows, Microsoft Duo (Android) y Apple iOS utilizando controles nativos en esas plataformas.

Los objetivos adicionales de .NET 5 incluyen soporte para construir aplicaciones en la nube de alto rendimiento, algoritmos más rápidos en BCL, mejor soporte para contenedores en tiempo de ejecución y soporte para HTTP3.

.NET 5 Preview 6, lanzado el 25 de junio, elimina la compatibilidad integrada con WinRT (Windows Runtime), una colección de API para crear aplicaciones de la Plataforma universal de Windows. Este es un cambio radical; Las aplicaciones .NET Core 3.x que usan WinRT deben volver a compilarse. Los equipos .NET y Windows han estado trabajando para cambiar la forma en que WinRT funciona con Windows, reemplazando el soporte de WinRT con el Cadena de herramientas C # / WinRT en .NET 5. C # / WinRT es un juego de herramientas empacado con NuGet que ofrece soporte de proyección WinRT para C #.

Otros cambios en .NET 5 Preview 6:

.NET 5 Preview 5, lanzado el 10 de junio, contiene las siguientes características nuevas:

  • El compilador RyuJIT JIT tiene una implementación más rápida y portátil de ayudantes de llamada. El JIT le pide ayuda al tiempo de ejecución cada vez que se da cuenta de que necesitará un ayudante para realizar una llamada posterior. También para RyuJIT, ha habido un progreso continuo en la implementación intrínseca de hardware ARM64. Otras mejoras en RyuJIT implican una mejor velocidad en un caso que afectaba la compilación de expresiones regulares y rendimiento mejorado de la arquitectura Intel.
  • Se han habilitado las exportaciones de binarios nativos con llamadas al código .NET. El componente básico de esta capacidad es el alojamiento de soporte API para UnManagedCallersOnlyAttribute. El proyecto de exportaciones nativas permite exponer exportaciones nativas personalizadas. No requiere una tecnología de interoperabilidad de nivel superior como COM y es multiplataforma.
  • DirectoryServices.Protocols El soporte se está expandiendo a Linux y MacOS.
  • La distribución de Linux Alpine 3.12 ahora es compatible.

La vista previa de .NET 5.0 se puede descargar desde dot.net.microsoft.com.

.NET 5 Preview 4, lanzado el 19 de mayo, introdujo las siguientes capacidades nuevas:

  • C # 9 y F # 5 ayuda de idioma.
  • Rendimiento mejorado de las llamadas de cola utilizadas por F #.
  • Rendimiento mejorado de ToUpperInvariant, string.ToLowerInvarianty patrones relacionados.
  • Mejora del rendimiento de HTTP 1.1 y HTTP 2.
  • Un mecanismo mejorado de conteo de llamadas.
  • Expansión dinámica del diccionario genérico interno para eliminar los acantilados de rendimiento afectados por el código genérico.
  • Un montón de objetos anclados para reducir la fragmentación del montón.
  • Aplicaciones de un solo archivo basadas en un nuevo tipo de publicación de un solo archivo que ejecuta una aplicación desde un único binario.

Microsoft .NET 5 Preview 4 se puede descargar desde dotnet.microsoft.com.

Las mejoras en .NET 5 preview 3, presentadas el 23 de abril, incluyen lo siguiente:

  • La clase BitArray para administrar una matriz de valores de bits se actualizó para incluir una implementación acelerada por hardware para ARM64 usando intrínsecos ARM64. Las mejoras de rendimiento de BitArray son significativas, dijo Microsoft. Además, el reemplazo de On Stack (OSR) en el CLR se implementó para permitir que el código ejecutado por los métodos actualmente en ejecución se cambie en el medio de la ejecución del método, mientras que esos métodos están activos «en la pila». Esta capacidad, para mejorar las características de rendimiento de la compilación en niveles, ahora es una característica experimental de suscripción en x64. Otra mejora para RyuJIT mejora la calidad del código para estructuras como argumentos en llamadas de posición de «cola de llamada». También se espera que RyuJIT ofrezca un mejor rendimiento de los genéricos.
  • La adición de soporte para preservar referencias se agregó a System.Txt.Json, lo que permite el manejo del bucle de referencia para la serialización JSON. Además, las clases y estructuras inmutables ahora son compatibles con JsonSerializer. Ahora también se admite el manejo de valores nulos.
  • El SDK de .NET ahora hará referencia automática al NETFramework.ReferenceAssemblies Paquete NuGet dado un marco de destino de .NET Framework en un archivo de proyecto. Este cambio permite la creación de proyectos de .NET Framework en una máquina sin un paquete de objetivos de .NET Framework instalado. Esta mejora es específica para los paquetes de orientación y no tiene en cuenta otras posibles dependencias del proyecto.

Las mejoras específicas en .NET 5 preview 2, lanzadas el 2 de abril, incluyeron:

  • Se han realizado una serie de cambios en RyuJIT para mejorar la calidad del código de máquina generado, incluidas las inicializaciones duplicadas de cero que se eliminan de manera más agresiva y las optimizaciones de caja nulables invocadas anteriormente.
  • La recolección de basura del servidor en diferentes subprocesos ahora puede robar trabajo mientras se marcan los objetos gen0 / 1 mantenidos en vivo por los objetos de generaciones anteriores. El trabajo de robo en subprocesos acorta las pausas efímeras de GC para escenarios donde algunos subprocesos de GC tardaron mucho más en marcarse que otros. Además, se ha implementado parte de la característica Montón de objetos anclados (POH), la parte interna de la recolección de basura, para permitir que el recolector administre los objetos anclados por separado. Esto evita los efectos negativos de los objetos anclados en los montones generacionales.

La vista previa 1, lanzada el 16 de marzo, incluía mejoras en el rendimiento de expresiones regulares, así como mejoras en la calidad del código en RyuJIT.

Debido a un lanzamiento de producción en noviembre de 2020, .NET 5 está configurado para incluir:

  • ASP.NET Core, un marco de código abierto para aplicaciones web.
  • Entity Framework Tecnología de acceso a datos básicos.
  • WinForms.
  • WPF (Windows Presentation Foundation).
  • Modelo de dispositivo de aplicación móvil Xamarin.
  • ML.NET.

Microsoft está ofreciendo un vista previa .NET 5 SDK y una vista previa de tiempo de ejecución acompañante. Microsoft dijo que .NET 5 proporcionará una plataforma única y unificada para construir cualquier tipo de aplicación. La compañía dirige la mitad del tráfico a su Sitio web .NET tráfico a una versión .NET 5 como un caso de prueba, usando Azure balanceo de carga.

Microsoft recomienda que los desarrolladores creen nuevas aplicaciones con .NET Core 3.1 y luego las migren a .NET 5. La compañía señaló que las aplicaciones de .NET Framework pueden dejarse en .NET Framework, que permanecerán admitidas mientras Windows sí lo sea.

Copyright © 2020 IDG Communications, Inc.

Source link

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *