El 27 de junio de 2016 se dio a conocer una de las noticias más esperadas por muchos y cuestionada por otros. Microsoft anuncia su paso al Open Source de la mano de .NET Framework. Lanzando .NET Core 1. Dicho proyecto se describe en su momento como:

“Una versión rediseñada de .NET que se basa en la versión simplificada de las bibliotecas de clases. “

Miguel de Icaza

“la base de todas las futuras plataformas .NET”

Immo Landwerth – Gerente de proyectos .NET de Microsoft

Posteriormente Microsoft lanzaba .NET Core 3.1 como una versión estable y LTS para uso en aplicaciones en ambientes de producción. En noviembre del año pasado es lanzada la versión de .NET Core bajo el nombre .NET 5.0. Microsoft nombró a esta versión .NET 5.0 en lugar de .NET Core 4.0 por dos sencillas razones. La primera es para evitar confusiones con .NET Framework 4.x. Y segundo, se hizo mucho énfasis en que el proyecto .NET es el futuro de la plataforma. Por lo que la palabra “Core” se estaría dejando de utilizar para simplificar el nombre. Aunque en el Blog de Desarrollo de Microsoft, nos dicen que si queremos podemos continuar llamándole .NET Core.

.NET 5

La versión .NET 5.0 tiene mucha más compatibilidad con aplicaciones y plataformas que .NET Core, así como .NET Framework. También tiene grandes mejoras en comparación con .NET Core 3.1 en cuanto a seguridad, rendimiento y estabilidad.

Mucha personas a lo largo del último año sostienen que .NET 5 es el último paso de Microsoft en su búsqueda para reconstruir .NET como un proyecto multiplataforma de código abierto. Sin embargo, .NET 5 también es el primer paso en un nuevo esquema de lanzamientos de Microsoft. Para el futuro cercano, Microsoft promete una nueva versión de .NET anualmente, que será lanzada cada noviembre.

Calendario de lanzamientos de .NET

.NET 6

Con .NET 6 en versión preliminar, podemos ver características y mejoras impresionantes respecto a .NET 5. En esta nueva entrega se enfocan nuevas características que no estaban presentes en .NET 5, como un Xamarin de próxima generación. Esto reduce las barreras entre el escritorio y el desarrollo móvil nativo. También significa una mejor integración de los SDKs de interfaz de usuario de Windows. También hay muchas otras mejoras considerables y de menor escala en .NET 6.

Microsoft viene con mucha tracción con un plan muy ambicioso sobre cambios, desafíos y nuevas características con el desarrollo actual de .NET 6. Por tal motivo nos enfocaremos en algunas de las nuevas características que se nos anticipan en .NET 6 Preview.

.NET Multi-Platform App UI (MAUI)

En este ejemplo, cuando se toca dos veces el mosaico del widget del tiempo, simula una actualización con una animación de aparición y desaparición gradual.

Xamarin.Forms es un marco multiplataforma de código abierto para la creación de aplicaciones en iOS, Android y Windows con .NET desde una única base de código la cual es compartida. Fue desarrollado originalmente por los ingenieros del proyecto Mono y Microsoft lo adquirió en 2016.

Xamarin.Forms es una plataforma de desarrollo Model-View-ViewModel (MVVM). Tiene páginas integradas, diseños de aplicaciones móviles y controles que nos permiten crear aplicaciones con una API única y altamente extensible. Nos permite crear subclases y personalizar controles, diseños, páginas y celdas para hacer que nuestra aplicación sea perfecta.

.NET 6 utiliza la interfaz de usuario de la aplicación multiplataforma .NET. Es un conjunto de herramientas de interfaz de usuario moderno basado en Xamarin. Pero tiene mejoras y nuevas características como parte de la unificación de .NET 6. Nos brinda la capacidad de crear aplicaciones que se pueden implementar en múltiples dispositivos utilizando un solo proyecto y una sola base de código con una sobrecarga mínima.

Al utilizar la interfaz de usuario de la aplicación multiplataforma .NET, los desarrolladores pueden ofrecer experiencias de aplicación coherentes en varias plataformas y dispositivos. Las aplicaciones móviles y de escritorio pueden usar una única base de código compartida para apuntar a los sistemas operativos Android, iOS, macOS y Windows.

El soporte multiplataforma móvil y multiplataforma de .NET 6 integra y amplía el kit de herramientas de Xamarin.Forms. También amplía las bibliotecas de Xamarin.Essentials para mejorar los controles de interfaz de usuario multiplataforma. Con MAUI, podemos usar varias capacidades de dispositivo. Esto incluye sensores de dispositivos, fotos, contactos, autenticación y almacenamiento seguro.

La creación de aplicaciones con .NET 6 es sencilla, ya que viene con ejemplos de proyectos móviles e instrucciones de instalación. También incluye una nueva característica C# Hot Reload y compatibilidad con XAML lo cual permite una experiencia de desarrollo más ágil. Los cambios y mejoras en MAUI se centran en mejorar el rendimiento de la aplicación, la experiencia del usuario, el control y aumentar la velocidad de desarrollo. El uso de complementos de interfaz de usuario como ComponetOne en aplicaciones MAUI hará que el proceso de desarrollo sea más rápido. También mejorará la experiencia del usuario de la aplicación además de lo que ya tiene .NET MAUI.

Soporte de WPF en Arm64

Windows Presentation Foundation (WPF) es un marco de interfaz de usuario independiente de la resolución. Utiliza un motor de renderizado basado en vectores creado para aprovechar el hardware de gráficos moderno.

Proporciona un conjunto completo de características de desarrollo de aplicaciones: Lenguaje de marcado de aplicaciones extensible (XAML), enlace de datos, gráficos 2D y 3D, animación, plantillas, documentos, medios, texto y tipografía. WPF es parte de .NET, por lo que podemos incorporarlo con otros elementos de la API .NET con facilidad.

En .NET 6, Arm64 es muy importante debido a sus importantes mejoras de rendimiento en comparación con .NET 5. También se introduce compatibilidad con Windows Forms y Windows Presentation Framework (WFP) los cuales están listos para utilizarse.

Blazor Desktop

Blazor se ha convertido en una forma muy inteligente de crear aplicaciones web .NET. Esto se debe a su fluidez y facilidad de integración con bibliotecas de interfaz de usuario como ComponentOne. Esto hace que el ciclo de vida del desarrollo de la aplicación sea más eficiente.

El soporte de Blazor para .NET fue el primero en el servidor. Luego fue en el navegador con WebAssembly. Ahora, .NET 6 permite escribir aplicaciones de escritorio en Blazor. Blazor Desktop permite crear aplicaciones cliente híbridas, combinando la interfaz de usuario web y nativa en una aplicación cliente nativa. El objetivo de Blazor Desktop son los desarrolladores web que desean brindar experiencias de cliente enriquecidas y sin conexión a los usuarios de aplicaciones. Estas experiencias también se pueden mejorar mediante el uso de bibliotecas de interfaz de usuario como ComponentOne.

El equipo de .NET 6 enfatizó que inicialmente construyeron Blazor Desktop para aplicaciones .NET. Pero no hay ninguna razón técnica por la que se pueda utilizar Blazor en una aplicación de escritorio construida con otra pila de aplicaciones. Por ejemplo, podríamos usar Swift.

Blazor Desktop se encuentra en la parte superior de la nueva interfaz de usuario de la aplicación .NET con soporte multiplataforma. Se basa en esa pila de IU para un contenedor de aplicaciones nativas y controles nativos con un rendimiento excelente.

Mejoras de rendimiento

También podemos anticipar mejoras de rendimiento para .NET 6. Según el blog oficial de Microsoft, Microsoft está iniciando un nuevo proyecto llamado ciclo interno rápido. La primera parte del proyecto es hacer que la compilación se ejecute significativamente más rápido con un conjunto de proyectos relacionados con el rendimiento.

La segunda parte es la creación de nuevos sistemas que permitirán omitir la fase de construcción por completo. Microsoft declaró que se imaginaron implementar la innovación del equipo de Xamarin con la función XAML Hot Reload para convertirse en una característica de .NET general.

Mejor soporte para contenedores

El equipo de desarrollo de Microsoft .NET 6 expone que los contenedores son un enfoque diario del equipo, tanto como base de la infraestructura de construcción, como escenario de producto. Señalaron que incluso las pruebas de rendimiento de .NET actuales utilizan contenedores. Esto se debe a los múltiples proyectos planificados para mejorar los contenedores en .NET 6.

Algunas de estas mejoras planificadas incluyen:

  • Crossgen2: que es un reemplazo de la herramienta crossgen.
  • Entregables en .tar.gz, .deb o .msi
  • Alpine 3.13 (o posterior), Debian 11 (“bullseye”) y Ubuntu 20.04 serán la base para las imágenes .NET 6.
  • .NET no admitirá versiones más recientes de Ubuntu (en contenedores) hasta Ubuntu 22.04.

Definitivamente .NET 6 Preview es una pequeña bocanada de aire fresco sobre lo nuevo que nos trae el equipo de desarrollo de Microsoft .NET y probablemente las siguientes versiones vendrán con muchas más características y mejoras.

Fuentes:

[1] https://devblogs.microsoft.com/dotnet/announcing-net-5-0/
[2] https://devblogs.microsoft.com/dotnet/introducing-net-5/
[3] https://devblogs.microsoft.com/dotnet/announcing-net-6-preview-6/
[4] https://devblogs.microsoft.com/dotnet/announcing-net-maui-preview-6/
[5] https://github.com/dotnet/wpf/issues/4117
[6] https://medium.com/grapecity/what-to-expect-in-net-6-7f873076367c

Por favor síguenos y dale me gusta: