[18/03/2021] Microsoft ha publicado la segunda vista previa de .NET 6, la próxima generación de la plataforma de desarrollo de software de la compañía que terminará las partes de la unificación de .NET iniciada en .NET 5. La vista previa 2 presenta mejoras en la API y en las bibliotecas, mejoras en el rendimiento en tiempo de ejecución y primeras versiones de .NET MAUI (Multi-platform App UI), que es un moderno conjunto de herramientas de interfaz de usuario que se basa en Xamarin.
La versión de producción de .NET 6, prevista para noviembre, ofrecerá mejoras para aplicaciones en la nube, de escritorio y móviles. La segunda versión preliminar se publicó el 11 de marzo, tras la primera versión preliminar que llegó el 17 de febrero. Está previsto que se publiquen avances mensuales hasta la versión de producción, que tendrá una duración de tres años. Cada vista previa ofrecerá temas, epopeyas e historias de usuario de .NET 6 para el desarrollo de aplicaciones de servidor/nube, escritorio, IoT y móviles.
Microsoft .NET 6 integrará capacidades para Android, iOS y MacOS que actualmente residen en la plataforma móvil .NET de código abierto Xamarin. Microsoft también está ampliando la herramienta de desarrollo de aplicaciones web cliente Blazor, para que los desarrolladores puedan crear una aplicación cliente híbrida que combine interfaces de usuario web y nativas para su uso en escritorio y móvil. Blazor WebAssembly fue el primer producto de plataforma unificada de .NET 5. Publicado en noviembre del 2020, .NET 5 marcó el inicio de la unificación y sentó las bases para que los desarrolladores de Xamarin utilizaran la plataforma .NET unificada cuando llegara .NET 6.0.
La unificación de .NET crea una sola .NET a partir de las tecnologías separadas .NET Core, .NET Framework y Xamarin/Mono. Algunas partes de .NET Framework ya se habían trasladado a .NET Core; .NET 5 comenzó el camino de combinar .NET Core y Mono/Xamarin en una biblioteca de clases base y una cadena de herramientas.
El boletín de Microsoft sobre .NET 6 Preview 2 hace hincapié en temas para la plataforma como la mejora del rendimiento del "bucle interno"; es decir, la optimización de las herramientas y los flujos de trabajo que los desarrolladores utilizan frecuente y repetidamente para actualizar, construir y probar su código. Las recargas en caliente, por ejemplo, mejorarán la productividad de los desarrolladores al permitir que el código se edite mientras se ejecuta una aplicación, incluso sin un depurador conectado. El rendimiento del inicio del tiempo de ejecución, los modelos de aplicación, la CLI de dotnet y MSBuild también reciben atención como parte del tema de los bucles internos.
Otro tema es la mejora de la experiencia de desarrollo de aplicaciones cliente, incluyendo un producto móvil más unificado para .NET. Como parte de este esfuerzo, el desarrollo de iOS, Android y MacOS se integrará en la experiencia del SDK de .NET y utilizará las bibliotecas de .NET. Además, el marco Xamarin.Forms cross-UI está evolucionando hacia .NET MAUI, lo que permitirá a los desarrolladores crear aplicaciones para Android, Windows y MacOS a partir del mismo código base. Las aplicaciones de Blazor se ejecutarán de forma nativa en Windows y MacOS a través de .NET MAUI.
Microsoft también ha anunciado la incorporación de APIs y mejoras en las bibliotecas .NET. Por ejemplo, JsonSerializer (System.Tex.Json) admite ahora la posibilidad de ignorar los ciclos al serializar un gráfico de objetos, mientras que PriorityQueue<TElement.TPriority> es una nueva colección que permite añadir nuevos elementos con un valor y una prioridad. La vista previa 2 también aporta un mejor análisis sintáctico de los formatos numéricos estándar, así como mejoras en tiempo de ejecución y JIT.
La versión preliminar 1 de .NET 6 introdujo Android e iOS como las dos primeras plataformas compatibles con MAUI. En futuras versiones preliminares se añadirá la compatibilidad con MacOS y el escritorio de Windows. Blazor, que se construye sobre MAUI, se basa en la pila de interfaz de usuario para un contenedor de aplicaciones nativas y controles de contenedores de aplicaciones nativas.
También se está trabajando en .NET 6 y sus alrededores:
- Para permitir construcciones rápidas y operaciones más rápidas para los cambios de código como una característica estándar de .NET, Microsoft está definiendo un nuevo modelo de recarga de código en caliente para todos los tipos de aplicaciones. Este esfuerzo se basa en el proyecto fast inner loop, que permite un desarrollo rápido e iterativo. Parte del proyecto consiste en permitir que las ediciones de código se apliquen a un proceso en vivo sin reiniciar, omitiendo así una compilación.
- Para el hardware ARM64, .NET 6 se centrará en la habilitación funcional. En Windows, la Preview 1 será compatible con Windows Forms y Windows Presentation Framework. En Mac, la Preview 1 añadirá compatibilidad con los chips Apple Silicon (Arm64).
- Se están realizando múltiples esfuerzos para mejorar los contenedores en .NET 6, incluyendo la mejora del escalado, la reducción del tamaño de los contenedores y el aumento del rendimiento de arranque y rendimiento.
- El grupo de hilos de .NET se ha reimplementado como una implementación gestionada y ahora es el grupo de hilos por defecto en .NET 6.
- Microsoft pretende mejorar el arranque y el rendimiento en tiempo de ejecución en .NET 6 utilizando información de ejecución en tiempo de ejecución. Esto se hará a través de la optimización guiada por perfil (PGO), cuyos inicios están en la Preview 1.
- Con .NET 6, se han habilitado las aplicaciones de archivo único para Windows y MacOS. En .NET 5 estaban limitadas a Linux.
Basado en el artículo de Paul Krill (InfoWorld) y editado por CIO Perú