.NET MAUI: la evolución de Xamarin.Forms (1/2)

Noureddine Maachi 04/10/2022
    Desarrollo Web a Medida para Empresas

    Desde Pasiona, hacemos mucho hincapié en tecnologías Microsoft en todos nuestros desarrollos Mobile, y aunque trabajamos con otras tecnologías, como es React Native, nuestra apuesta desde hace años es Xamarin.Forms, una apuesta que nos ha llevado a grandes éxitos, como ser la primera aplicación móvil con reconocimiento facial, para Arquia, gestión de almacenes para Vivace, gestión de personal para Uriach y un largo listado que podéis ver en nuestro portal sobre nuestros casos de éxito.

    Pero todo en esta vida evoluciona, y Xamarin.Forms no podía ser menos, por eso hemos decidido hacer esta serie de artículos, donde intentaremos de una forma breve explicar por qué Pasiona sigue apostando por esta tecnología.

    La evolución de Xamarin.Forms, se llama .NET MAUI, es lo último de Microsoft para el desarrollo de aplicaciones multiplataforma. Con ello, Microsoft busca mejorar en muchos aspectos el desarrollo.

    La primera pregunta que muchos os haréis seguramente es, ¿es solamente una actualización de Xamarin.Forms? Si queréis una respuesta simplista podemos decir que SÍ es una actualización de Xamarin.Forms, pero si vamos al detalle nos damos cuenta de que no, puesto que desde Redmond han realizado un trabajo sobresaliente, tanto para el desarrollo de las aplicaciones, como al resultado final obtenido. Por lo que podemos asegurar que es mucho más que una actualización es un salto a una nueva mentalidad en el desarrollo de aplicaciones nativas multiplataforma:

    • Pasamos de .NET Standard a .NET 6.
    • Mejora del rendimiento.
    • Mejor organización de carpetas.
    • Más plataformas compatibles (MacOS, Tizen-Linux). Con solamente un proyecto nos permite desarrollar aplicaciones nativas con código y UI compartidos.Cuadro donde se muestra un gráfico con la cabecera de .NET 6 dentro del .NET Multi-platform App UI, y fuera de este recuadro los sistemas operativos para los que se podrán desarrollar, iOS, Android, MacOS, Windows y Tizen.

     

    ¿Qué es .NET MAUI?

    .NET MAUI es de código abierto y es la evolución de Xamarin.Forms, extendida desde entornos móviles a escritorio. Si ya estás familiarizado con Xamarin.Forms notarás que hay muchas similitudes con .NET MAUI, sin embargo, también hay algunas diferencias. Con .NET MAUI puedes crear aplicaciones multiplataforma mediante un solo proyecto.

     

    Imagen donde se aprecia la estructura de proyectos en Xamarin.Forms donde tenemos un proyecto por plataforma comparándola con la estructura de .NET MAUI en la cual únicamente tenemos un solo proyecto.

     

    Mejoramos en rendimiento, el tiempo de ejecución disminuye, ya que compila un solo proyecto en vez de dos como en Xamarin.Forms (el proyecto compartido y el de la plataforma en la que se ejecute).

    Tenemos mayor flexibilidad, ya que .NET MAUI nos adapta con mucha facilidad el poder cambiar o añadir los recursos para nuestra aplicación. Por ejemplo, supongamos que queremos agregar el icono de la aplicación, en Xamarin.Forms tendríamos que agregar ese icono por cada plataforma y de una forma específica por cada una de ellas, en cambio, con .NET MAUI solo basta con colocarla en una sola ubicación.

    Tanto los recursos de la aplicación (fuentes, imágenes, logo de la aplicación, etc.) como código específico por plataforma también los podrás añadir sin ningún problema si fuera necesario. Uno de los principales objetivos de .NET MAUI es permitir que puedas implementar toda la lógica y la UI de la aplicación en una sola base de código.

    Cuadro donde se muestra los pasos que se siguen al programar la aplicación con el bloque “Código de la aplicación” como el principio y a continuación de este bloque las diferentes ejecuciones según si el sistema operativo donde se ejecuta es iOS, Android, MacOS o Windows.

     

    • Principalmente, lo que hacemos es codificar con la API MAUI de .NET. Aquí es donde entra todo el tema de controles, librerías, etc., que nos ofrece la API de MAUI para desarrollar toda la lógica y UI de nuestra aplicación multiplataforma.
    • Si fuera necesario, en el caso de que queramos modificar o intervenir específicamente en una plataforma, podremos hacerlo desde el código de nuestra aplicación.
    • El comportamiento habitual sería que, una vez codificado nuestra lógica y UI, .NET MAUI se encargara de ejecutarlo por cada plataforma de la forma más eficiente y nativa posible.

     

    Pasamos a .NET 6

    .NET MAUI está integrado en .NET 6, mientras que Xamarin.Forms es .NET Standard. Debido a la integración de .NET 6, podremos utilizar todas sus funciones y C# 10 en .NET MAUI.

    Esto nos muestra como Microsoft está realmente implicado en el desarrollo multiplataforma, ya que gracias a .NET 6 tenemos completa compatibilidad con todos los proyectos .NET 6 ya que todos comparten las mismas librerías/APIs base.

    Cuadro donde se muestra un gráfico con la cabecera de “.NET – A unified development platform”, debajo de esta cabecera se muestran todos los proyectos disponibles con .NET 6: Cloud, Web, Escritorio, Mobile, Gaming, IoT y AI. Visualmente se enlazan todos los proyectos con .NET 6 y sus librerías/APIs.

     

    Enlaces/Aportes/Ejemplos

    Próximamente, publicaremos el siguiente artículo .NET MAUI – La evolución de Xamarin.Forms (2/2) donde entraremos al detalle técnico sobre las novedades de .NET MAUI. Os dejamos unos enlaces que seguro que os serán de gran ayuda tanto en lo teórico como en lo técnico:

     

     

    , , ,

    Volver