Microsoft apuesta por la construcción de aplicaciones multiplataforma

La Release Candidate de .NET MAUI ya está aquí

Ya es una realidad el esperado lanzamiento de la primera release candidate de .NET MAUI, que llega con cierto retraso porque se esperaba para noviembre del año pasado, junto con el anuncio de .NET6.

Su disponibilidad total, está prevista para el próximo mes de junio, pero esta release está cubierta por la política de soporte de «puesta en marcha» de Microsoft para aplicaciones de producción.

¿Qué es .NET MAUI?

Su nombre es el acrónimo de “Multi-platform App UI” y se trata de un entorno de trabajo multiplataforma que permite desarrollar aplicaciones móviles y de escritorio nativas, con base en los lenguajes de C# y XAML.

Su gran ventaja, es que brinda la posibilidad de construir aplicaciones ejecutables en Android, iOS, macOS y Windows desde un código único compartido. Esto lo consigue gracias a que aprovecha los SDK de cada una de estas plataformas.

MAUI Architecture

MAUI Architecture

Además, se trata de una solución de código abierto y que ha evolucionado desde Xamarin.Forms, por lo que muchos desarrolladores ya están familiarizados con la solución, lo que facilitará la migración de los proyectos.

¿Qué ofrece .NET MAUI?

.NET MAUI se presenta con más de cuarenta diseños y controles diseñados para construir interfaces de usuario que puedan adaptarse tanto a dispositivos móviles como de escritorio.

Entre estos elementos están incluidos todos los heredados desde Xamarin.Forms y adicionalmente novedades de: BlazorWebView, Border, GraphicsView, MenuBar, Shadow y Window.

Como valor añadido, también incorpora componentes e incluso aplicaciones al completo de Blazor para permitir equiparar la experiencia de los usuarios en ordenadores y terminales móviles.

Gracias a ello, se abren nuevos escenarios en este mundo del diseño de aplicaciones, como puede ser el uso de Blazor Hybrid para desarrollar soluciones más interactivas del lado del cliente con .NET en una aplicación ASP.NET Core.

Xamarin.Forms vs .NET MAUI

Como principal punto diferenciador entre Xamarin.Forms y .NET MAUI, destaca que con esta nueva solución. Con ésta es posible implementar gran parte de la lógica de la aplicación y de su interfaz en una sola base de código.

Es decir, las aplicaciones de .NET MAUI se desarrollan y compilan en paquetes de aplicaciones nativas.

En este entorno las aplicaciones se construyen en base a un único proyecto multiplataforma, independientemente de que su destino final. Ejemplos de ellos serían Android, iOS, macOS, Windows, o todos ellos.

MAUI Multiplataforma

MAUI Multiplataforma

Entre los principales beneficios que esto puede ofrecer están:

  • Un proyecto único, permite crear soluciones nativas para varias plataformas y distintos tipos de dispositivos.
  • Solo es necesaria una ubicación para administrar los recursos (fuentes, imágenes…)
  • Garantizar la total compatibilidad con múltiples versiones para organizar el código específico de cada plataforma.

Ventajas adicionales de .NET MAUI

Esta nueva solución de Microsoft llega con la intención de facilitar el trabajo de desarrollo de aplicaciones y aumentar la productividad de los equipos. Para ello, incorpora pequeños detalles que aligeran y simplifican los procesos, como pueden ser:

  • Un motor de diseño específico para el diseño páginas.
  • Una librería de páginas que permite crear flujos de navegación enriquecidos, como pueden ser los cajones.
  • Patrones de desarrollo más refinado y de fácil de mantenimiento, que permiten la compatibilidad con el enlace de datos.
  • Posibilidad de personalizar los controladores, logrando mejoras estéticas en la interfaz de usuario.
  • API multiplataforma, que permite el acceso a propiedades de los dispositivos nativos, como pueden ser: el GPS, el acelerómetro, estado de la batería o de la red, entre otros.
  • Nueva funcionalidad que admite formas e imágenes de dibujo y pintura, operaciones de redacción y transformación de objetos gráficos.
  • Recarga activa de .NET, que hace posible modificar tanto el código XAML como el código fuente administrado durante la ejecución. Luego, permite observar el resultado de estas modificaciones sin necesidad de volver a generar la aplicación.

Primeros pasos con .NET MAUI

Antes de comenzar a trabajar en cualquier entorno, lo recomendable es dedicar tiempo a la lectura de la documentación oficial, en este caso puedes encontrarla en la web de Microsoft.

El siguiente paso debe ser asegurarte de disponer de la última versión de Visual Studio, que se lanzó este mismo 2022. En caso de no contar con ella, puedes descargarla aquí.

Ejecuta el instalador y asegúrate de elegir .NET MAUI (versión preliminar) en «Desarrollo móvil con carga de trabajo de .NET» y ya estará todo listo para que empieces a crear aplicaciones multiplataforma con esta nueva solución.

Conclusiones: razones para elegir .NET MAUI

La posibilidad de trabajar en base a un código único y los controladores que ofrecen, parecen ser muy prometedores y un gran valor diferencial frente a herramientas anteriores. Las mejoras más destacables y que inclinan la balanza a favor de .NET MAUI son:

  • El acceso a sensores de los dispositivos nativos.
  • La posibilidad de comprobar la conectividad de la red y la capacidad de detectar cualquier cambio.
  • Poder brindar información sobre los terminales en los que está operando la aplicación.
  • Copiar y pegar texto entre aplicaciones.
  • Seleccionar archivos desde el dispositivo.
  • Guardar los datos de manera segura como pares clave-valor.

Para los desarrolladores que ya trabajaban con Xamarin.Forms, el lanzamiento de .NET MAUI es una gran noticia, ya que les permite seguir desarrollando sus proyectos, incorporando las nuevas funcionalidades e integrándose dentro de .NET.

Es un prometedor lanzamiento, que ha llegado pisando fuerte y trae consigo grandes expectativas dentro del equipo de Microsoft. Incluso el Director principal del programa, David Ortinau, dijo que: “espera que el equipo de desarrollo de las aplicaciones móviles de Office tenga la fuerte tentación de cambiar de React Native a .NET MAUI a medida que esta última oferta madure”.

Ya veremos cómo es la evolución de este entorno de trabajo y su integración en los equipos de desarrollo en los próximos meses. Esperemos que los pronósticos se cumplan y que la migración sea fluida y mejore tanto la productividad, como la experiencia de usuario de las nuevas aplicaciones que salgan al mercado.