Adiós Xamarin.Forms – Hola MAUI


En estos días (19-21/Mayo) se está celebrando el Build 2020, el mayor evento de Microsoft centrado en el desarrollo del año. Debido a la pandemia actual (COVID-19), esta edición se esta realizando de manera online. Cabe destacar que es la primera vez que Microsoft celebra una conferencia de este tamaño virtualmente y hasta ahora ha sido ¡formidable!.

Elemento multimedia de encabezado

El evento hizo algunos anuncios interesantes el día de ayer y quería compartir el que creo a titulo personal es el más relevante, la evolución de Xamarin a MAUI.

Viaje en el tiempo…

Retrocedamos primero un poco en el tiempo, justo antes de la conferencia Xamarin Evolve en 2016, en donde se anunció que Microsoft adquirió Xamarin. Este fue un gran paso hacia adelante para la marca Xamarin, pero también dejaba la pregunta al aire de, ¿cómo Microsoft adoptará la plataforma?. Prometieron en su momento que el nombre se mantendría igual y al día de hoy, Microsoft ha hecho un excelente trabajo al incorporar a las personas y las herramientas en su ecosistema.

Microsoft sale de compras y adquiere Xamarin buscando facilitar la ...

El 19 de Mayo, Microsoft anunció su paso hacia adelante con respecto a él “Viaje a un solo .NET”. Es decir, una plataforma con todas las herramientas que los desarrolladores necesitamos para crear un software increíble para todas las plataformas. Con eso, también se presenta Multi-platform App UI, MAUI.

¿Qué es Multi-platform App UI?

Maui es esencialmente la próxima evolución de Xamarin.Forms, este se trata de un framework que nos permitirá crear interfaces de usuario nativas para escritorio y dispositivos móviles, y lo más sorprendente de esto es que cuenta con una sola base de código y un único proyecto. Es decir, ¡no más cabezales distintos para cada SO móvil (iOS y Android)! Junto a MVVM, Maui también admitirá el nuevo y emocionante patrón de diseño MVU (Model-View-Update), también conocido como The Elm Architecture, el cual obtendrá el soporte de Blazor.

Microsoft ha comprendido el poder del patrón MVU y ha presentado una nueva forma unificada de construir frontales nativos multiplataforma desde una única base de código. MVU nos permite escribir código de UI y lógica en C# como se muestra a continuación:

readonly State count = 0;

[Body]
View body() => new StackLayout
{
    new Label("Welcome to .NET MAUI!"),
    new Button(
        () => $"You clicked {count} times.",
        () => count.Value ++)
    )
};

.NET proporciona una sola pila que admite todas las cargas de trabajo modernas: Android, iOS, macOS y Windows. Los espacios de nombres también se actualizarán, Xamarin.Forms tendrá lugar para System.Maui. Xamarin.Essentials también vendrá al pasar a System.Device, completando el conjunto de herramientas mas importante para desarrolladores de .NET móviles.

  • System.Maui – Evolución de lo que hoy se encuentra en Xamarin.Forms
  • System.Devices – Evolución de lo que hoy se encuentra en Xamarin.Essentials
Este patrón es ideal para la recarga instantánea, ya que es simple y comprensible. 

¿Desde dónde podremos generar proyectos de MAUI?

Microsoft indico que se podrá usar Visual Studio para Windows, Visual Studio para macOS y también Visual Studio Code para crear proyectos y trabajar con MAUI. También se agregará soporte para la CLI de .NET, lo que significa que comenzará un proyecto con un comando simple:

dotnet new maui

Desarrollo Simplificado

Con la llegada de MAUI pasaremos a tener un único proyecto. Así mismo podremos elegir el despliegue entre diferentes dispositivos o emuladores aunque tengamos un único proyecto. Y ¿qué ocurre con los recursos de la aplicación como las imágenes? El tooling gestionará fuentes compartidas en cada plataforma así como la gestión y creación de imágenes adaptadas a cada plataforma.

¿Dónde deja el desarrollo Xamarin.Native (Xamarin.iOS y Xamarin.Android)?

Ambos se incorporarán a la plataforma .NET 6 y se renombrarán a .NET para iOS y .NET para Android, respectivamente. También obtendrán soporte de CLI: dotnet new ios y dotnet new android, haciendo que el desarrollo sea aún más rápido.

¿Cuándo estará disponible MAUI ?

Lamentablemente tendremos que esperar hasta el lanzamiento de .NET 6, que está programado para noviembre de 2021 (las previsualizaciones estarán disponibles mas adelante en 2020), así que hay que ser pacientes antes de poder jugar con los juguetes nuevos.

Personalmente, estoy muy ansioso por estos próximos pasos, aunque un poco triste porque nos estamos alejando del nombre Xamarin, aunque sí ya sobrevivimos a las marcas Monodroid/MonoTouch, creo que Maui suena bien. Aunado a esto, sabemos que habrán algunos tiempos difíciles por delante, como actualizaciones de espacios de nombres, actualización de Xamarin.Forms y claro esta, los cambios de nombre de los grupos de Meetup Xamarin. Y bueno, si somos sinceros, al escuchar el nuevo nombre, creo que más de uno, lo vinculamos con el personaje de la película de Disney Moana.

Update 1.2 Patch Notes - Patch Notes - Disney Heroes: Battle Mode
Maui / Película Moana (Disney)
Xamarin Updates From Microsoft Build 2020 | Xamarin Blog
.NET MAUI

 

 

 

 

 

 

 

 

Entonces, ¿qué ocurre con Xamarin.Forms?

Xamarin.Forms continuará evolucionando y mejorando en las sucesivas versiones 4.7, 4.8, etc hasta el lanzamiento de MAUI con .NET 6. Después de eso, Xamarin.Forms continuará recibiendo soporte durante 12 meses.

Roadmap

Hasta el momento se cuenta con la siguiente información sobre el roadmap de MAUI:

MAUI contará con previews desde el Q4 del 2020 hasta el Q3 del 2021
MAUI Release Candidate en Septiembre del 2021
MAUI disponible de manera general en Noviembre del 2021

Resumen

MAUI es un renovado Xamarin.Forms con características similares, el cual tendrá mayor soporte, y Xamarin Nativo (iOS-Android) no cambiará su estructura, solo el nombre en la versión .NET 6, así mismo deberá adaptarse a una nueva gama de bibliotecas de clases de bindings principalmente. Presiento que el performance y la fácil implementación de UI ya está haciendo estragos al equipo de Flutter.

Todo esto es genial, pero la palabra Xamarin es la que está condenada a desaparecer.

Por último, ¿qué opinas sobre este cambio? ¿Se está moviendo Microsoft hacia la dirección correcta? Déjeme saber su opinión en los comentarios.

Más Información:

Dev Blogs Microsoft: Introducing .NET Multi-platform App UI

Repositorio en Github de MAUI: https://github.com/dotnet/maui

Nota: Recordemos qué Maui es de código abierto, por lo que podemos seguir fácilmente el progreso del desarrollo en su repositorio de GitHub.

Responder

Por favor, inicia sesión con uno de estos métodos para publicar tu comentario:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s

WordPress.com.

Subir ↑

A %d blogueros les gusta esto: