Descubre las principales novedades que incorpora .NET 7

Tras el lanzamiento de Microsoft de la cuarta preview de .NET 7, este nuevo framework se plantea un hito muy importante, que marcará la pauta para los próximos 20 años de .NET, por lo que es importante conocer las principales novedades que incorpora .NET 7.

.NET 20 Years

Se espera que la versión oficial se presente para finales de este año 2022 .

El desarrollo de .NET 7 está basado en su antecesor más reciente, .NET6 , incluyendo mejoras en áreas como el soporte para escenarios nativos en la nube, más herramientas, la actualización de proyectos heredados y la simplificación de la experiencia del desarrollador en el trabajo con contenedores, entre otras muchas.

Conoce las principales novedades que incorpora .NET 7 , el nuevo framework de Microsoft

Como hemos comentado, .NET 7 pretende ser la base de código que marque el desarrollo para las siguientes dos décadas. Es por ello que trae cambios y mejoras importantes para los programadores que utilizan este framework.

Profundizaremos en las principales novedades que trae consigo y cómo pueden ayudar a optimizar la experiencia de desarrollo y aumentar la productividad de los equipos.

NET MAUI formará parte de .NET7:

.NET Advantages

NET MAUI se integrará a .NET 7 , con el objetivo de mejorar el ciclo de desarrollo interno, admitiendo las herramientas de .NET SDK para aumentar el rendimiento de la aplicación, permitiendo que se comparta más código y mejorando el historial de interoperabilidad.

La creación de aplicaciones en la nube, ahora será mas fácil:

Esto será posible, gracias a la mejora de la experiencia de desarrollo mediante:

  • La simplificación de los procesos de instalación y configuración para implementar autenticación y autorizaciones seguras.
  • Aumento del rendimiento al inicio de la aplicación y durante su ejecución.

Mayor inversión en Orleans:

Se pretende seguir trabajando en la mejora de la documentación completa de Orleans, un marco multi-plataforma de .NET que facilita la creación de aplicaciones distribuidas (.NET distribuido). Además, busca facilitar su uso e implementación, mejorando su integración con los servicios en la nube, como Azure App Services y Azure Container Apps.

Experiencia simplificada en el trabajo con contenedores:

Permitiendo la creación de contenedores de forma directa mediante Microsoft Build. También pretendo mejorar la telemetría para aumentar la observabilidad de los contenedores, hacer que las imágenes de los contenedores sean más pequeñas, rápidas y seguras y explorar modelos, como rootless y distroless.

Mejoras para la migración y actualización de proyectos:

El proceso de migración de una aplicación no siempre es fácil y por eso .NET 7 propone mejoras de actualización para las aplicaciones más antiguas. Cómo quiere conseguirlo:

  • Con más analizadores de código
  • Aumentando la verificación de código
  • La mejora de los comprobadores de compatibilidad

Además, viene acompañado del asistente de actualización de .NET que será un gran soporte a la hora de actualizar esas aplicaciones, con un importante ahorro de tiempo para los equipos de desarrollo.

Inclusión definitiva de la función C# Hot Reload (recarga en caliente):

Esta popular función, se actualiza en esta nueva versión. Ahora estará presente en Blazor WebAssembly y .NET tanto para iOS como para Android e incluirá nuevas funcionalidades

Apps más rápidas y ligeras, con Native AOT:

Native AOT (Ahead-of-time), es un proyecto experimental que permite generar código en tiempo de compilación en lugar de en el de ejecución.

En palabras de Microsoft , gracias a este sistema:

«Las aplicaciones comienzan a ejecutarse en el momento en que el sistema operativo las páginas en la memoria. Las estructuras de datos están optimizadas para ejecutar código generado por AOT, no para compilar código nuevo en tiempo de ejecución. Esto es similar a cómo compilan lenguajes como Go, Swift y Rust. Native AOT es más adecuado para entornos donde el tiempo de inicio es lo más importante».

Por petición popular, Microsoft ha incluido actualizaciones de Native AOT, en esta nueva versión de .NET 7, permitiendo que AOT no reemplace Mono AOT o WASM.

Actualización del marco de extensibilidad administrado:

En esta nueva versión del framework, las API permiten agregar una sola instancia de objeto al contenedor System.Composition.Hosting. En línea con la funcionalidad en las interfaces heredadas System.ComponentModel.Composition.Hosting con la API ComposeExportedValue(CompositionContainer, T).

Más control, aumentando la capacidad de observabilidad:

Mejoras sustanciales en el soporte para las selecciones nativas de la nube OpenTelemetry. Añadiendo la posibilidad de que los muestreadores puedan modificar el estado de seguimiento.

Disminución del tiempo de puesta en marcha (Write-Xor-Execute):

.NET 7 trae mejoras en el rendimiento de hasta un 15%, gracias a la reimplementación de stubs, motivada principalmente por la reducción del número de modificaciones posteriores a la creación del código ejecutable en tiempo de ejecución.

Aumento de la seguridad criptográfica:

Este cambio simplificará el trabajo mediante certificados cuando se introduce una clase y brinda más claridad al analizar nombres X.500.

Antes para crear un nombre X.500 se hacía mediante la manipulación de cadenas, por literal simple o con formato de cadena. Esto traía inconvenientes cuando subjectName contenía una coma o comilla que pudiera influir en el analizador.

Para dar solución a este problema, Microsoft ha añadido la clase X500DistinguishedNameBuilder. Este nuevo método solo puede operar con un único RDN, con lo que no hay ambigüedad en el análisis.

Ventajas de empezar a trabajar con .NET 7

Como hemos podido ver, .NET 7 llega cargado de novedades, que pueden hacer más fácil el trabajo de los equipos de desarrollo.

Entre las ventajas más destacadas están:

  • La mejora de la experiencia para los desarrolladores
  • Mayor soporte para las herramientas de kit de este software
  • Aumento del rendimiento de las aplicaciones
  • Más opciones para compartir código
  • Una mayor interoperabilidad.

Desde Microsoft, Jeremy Likness (Responsable de programa de .NET Data), comenta: “los contenedores son, en la actualidad, el sistema de trabajo preferido para muchas empresas a la hora de abordar el desarrollo de apps nativas y microservicios. Apoyarse en contenedores ofrece varios desafíos, entre los que están la gestión del cumplimiento de normas, el desarrollo y la publicación de imágenes, la securización de imágenes y la optimización del tamaño y el rendimiento de las imágenes. Creemos que hay una oportunidad para crear una experiencia mejor con los contenedores de .NET”.

En TechsBCN siempre recomendamos que antes de comenzar a trabajar con cualquier framework, dediques tiempo a la lectura de la documentación oficial disponible y a preparar bien la migración.

Si estás decidido a probar esta nueva herramienta, puedes descargarla aquí.