Microsoft ha publicado la plataforma abierta .NET 7

Microsoft ha presentado un lanzamiento significativo de la plataforma abierta .NET 7, creada gracias a la unificación de los productos .NET Framework, .NET Core y Mono. Con .NET 7 se pueden crear aplicaciones multiplataforma para navegador, sistemas en la nube, escritorio, dispositivos IoT y plataformas móviles, utilizando bibliotecas comunes y un proceso de compilación independiente del tipo de aplicación. Las distribuciones .NET SDK 7, .NET Runtime 7 y ASP.NET Core Runtime 7 están formadas para Linux, macOS y Windows. .NET Desktop Runtime 6 se proporciona solo para Windows. Los desarrollos relacionados con el proyecto se distribuyen bajo la licencia MIT. El soporte para la rama .NET 7 se llevará a cabo durante 18 meses hasta el 14 de mayo de 2024.

.NET 7 incluye el runtime CoreCLR con el compilador JIT RyuJIT, bibliotecas estándar, bibliotecas CoreFX, WPF, Windows Forms, WinUI, Entity Framework, la interfaz de línea de comandos dotnet, así como herramientas para el desarrollo de microservicios, bibliotecas, aplicaciones de servidor, gráficas y de consola. Se ha publicado por separado la pila para el desarrollo de aplicaciones web ASP.NET Core 7.0, la capa de ORM Entity Framework Core 7.0 (con controladores, incluyendo para SQLite y PostgreSQL), la biblioteca WPF 7 (Windows Presentation Foundation), el marco de Windows Forms 7 para el desarrollo de GUI, la plataforma Orleans 7 para crear aplicaciones Cloud Native, el marco MAUI 7 para el desarrollo de interfaces de usuario multiplataforma, así como los lanzamientos de los lenguajes C# 11 y F# 7. El soporte para .NET 7.0 y C# 11 está incluido en el editor de código gratuito Visual Studio Code.

Características de la nueva versión:

  • Se ha realizado la unificación de la biblioteca base de clases (BCL, Base Class Library) para su uso en diferentes tipos de aplicaciones, incluyendo programas para sistemas de escritorio, aplicaciones web, plataformas en la nube, aplicaciones móviles, juegos, programas embebidos y sistemas de aprendizaje automático. Para el desarrollo de diversos tipos de aplicaciones se puede utilizar un SDK común, Runtime y un conjunto de bibliotecas.
  • Se ha proporcionado la posibilidad de vincular la aplicación a la API correspondiente a la versión de .NET 7, a través de la definición de la plataforma objetivo "net7.0", por ejemplo, "net7.0". Para vincular a APIs específicas de alguna plataforma, al determinar el objetivo se puede detallar el tipo de plataforma, por ejemplo, especificando "net7.0-android".
  • Se ha mejorado significativamente el soporte para la arquitectura ARM64 y se ha continuado trabajando para lograr paridad en el rendimiento de las aplicaciones .NET al ejecutarse en arquitecturas x86 y ARM64. En el runtime, se ha aumentado la eficiencia del uso de la caché de tercer nivel en sistemas ARM64. Se han utilizado instrucciones LSE para delimitar el acceso a la memoria desde hilos paralelos, lo que ha reducido la latencia en un 45%. Se han añadido controladores en la biblioteca que utilizan tipos vectoriales Vector64, Vector128 y Vector256, y se han reescrito las funciones EncodeToUtf8 y DecodeFromUtf8 basándose en instrucciones vectoriales, lo que ha permitido un aumento en su rendimiento de hasta un 60% (para las funciones NarrowUtf16ToAscii y GetIndexOfFirstNonAsciiChar, el aumento de rendimiento alcanza el 35%). En general, la velocidad de ejecución de las pruebas en la plataforma ARM64 ha aumentado entre un 10% y un 60%.
    Microsoft ha publicado la plataforma abierta .NET 7
  • Se ha mejorado el soporte para la plataforma Linux, incluidos paquetes con .NET 6 que se han agregado a los repositorios estándar de Ubuntu 22.04 y se ha proporcionado una imagen docker optimizada, compacta y lista para usar para el despliegue rápido de contenedores con aplicaciones basadas en .NET.
  • Se ha añadido soporte para la arquitectura IBM Power de 64 bits (ppc64le).
  • Se ha propuesto la herramienta .NET Upgrade Assistant para facilitar la migración de aplicaciones antiguas a las ramas .NET 6 o .NET 7. En la nueva versión, se ha ampliado el soporte para la migración de aplicaciones de ASP.NET a ASP.NET Core, se han añadido analizadores y correctores de código para WinForms, WPF y bibliotecas de clases, se ha implementado soporte para el análisis de archivos ejecutables, y se ha añadido soporte para la plataforma UWP (Universal Windows Platform).
  • Se han ampliado las capacidades para crear aplicaciones para sistemas en la nube (cloud-native) y plataformas PaaS (plataforma como servicio). Se ha proporcionado la capacidad de crear aplicaciones empaquetadas en contenedores aislados mediante el comando 'dotnet publish'.
  • Se han ampliado las herramientas para rastrear el estado de las aplicaciones y recopilar métricas sobre su funcionamiento. Se han añadido nuevos eventos y métodos para analizar la actividad y el rendimiento de la aplicación.
  • En el lenguaje C# 11 se ha añadido soporte para literales de cadena en bruto, que pueden incluir caracteres especiales sin necesidad de escapar (dichos literales se delimitan con tres comillas). Se han propuesto interfaces genéricas para funciones matemáticas y se ha proporcionado la posibilidad de definir elementos estáticos en interfaces virtuales, lo que ha permitido aplicar métodos de programación genérica para realizar operaciones matemáticas sin información precisa sobre el tipo de valores.
  • Se han ampliado las capacidades de la biblioteca estándar. Se ha añadido la API System.Formats.Tar para trabajar con archivos en formato Tar. En las funciones de gestión del tiempo (TimeStamp, DateTime, etc.) se ha añadido soporte para microsegundos y nanosegundos. En System.Text.Json se ha implementado la posibilidad de gestionar la serialización y deserialización de tipos .NET.
  • En la interfaz de línea de comandos 'dotnet new' se ha añadido soporte para la autocompletación de plantillas de proyectos típicos al pulsar la tecla Tab.
  • En el .NET SDK se ha implementado la posibilidad de restringir la aplicación de las plantillas de proyectos suministradas, por ejemplo, se puede definir en qué sistemas operativos es válida una plantilla.
  • Se ha añadido un modo de gestión centralizada de paquetes en NuGet, que permite gestionar dependencias para múltiples proyectos a la vez.
  • Se ha mejorado el rendimiento del compilador JIT. Se ha añadido soporte para el mecanismo OSR (On Stack Replacement) para modificar el código de métodos que ya se están ejecutando, lo que permite realizar optimizaciones en métodos con largas duraciones sin esperar a que finalice la llamada actual (en la prueba TechEmpower se observa un aumento del 10-30% en el rendimiento de procesamiento de las primeras solicitudes).
  • Se ha mejorado la eficacia de la optimización basada en los resultados del perfilado de código (PGO - Profile-guided optimization), permitiendo tener en cuenta las características definidas durante la ejecución del programa.
  • Se ha añadido soporte para la compilación en archivos ejecutables autónomos (Native AOT), en los que todo el proyecto se compila inicialmente en código de máquina de la plataforma de destino sin utilizar código intermedio y sin aplicar JIT.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster