Desde hace tiempo Microsoft ha trabajado para que las aplicaciones desarrolladas con .NET sean multiplataforma, con la salida de .NET Core se añadió soporte para sistemas Linux y con la adición de Xamarin se podían crear aplicaciones móviles tanto para Android como para iOS.
Con cada salida de .NET han ido mejorando la compatibilidad con el desarrollo multiplataforma, y es a principios de este año cuando Microsoft sacó un nuevo framework para el desarrollo multiplataforma. La nueva apuesta de Microsoft combina el desarrollo móvil y de escritorio en un nuevo único framework llamado .NET MAUI
¿Qué es .NET MAUI?
.NET MAUI es un framework multiplataforma para crear aplicaciones móvil nativas y de escritorio utilizando los idiomas de programación C# y XAML. Fue lanzado el 23 de mayo de 2022 con la versión de .NET 6 y hace poco ha sido actualizado con la salida .NET 7 el pasado martes 8 de noviembre.
Usando .NET MAUI puedes desarrollar aplicaciones para Android, iOS, macOS y Windows a partir del mismo código, compartiendo la mayor parte de este para las distintas plataformas. Esta solución está basada en su predecesor, Xamarin, que ya permitía crear aplicaciones para distintas plataformas a partir de un solo código, y que dejará de recibir soporte a partir del 1 de mayo de 2024.
Ventajas del uso de .NET MAUI
Multiplataforma
Tener que desarrollar una aplicación para diferentes plataformas puede ser bastante costoso, ya que requiere tener a varios equipos distintos programando la misma aplicación para cada sistema. Utilizando tecnologías multiplataforma como .NET MAUI tienes la posibilidad de crear aplicaciones para distintas plataformas a partir del mismo código, lo que permite ahorrar una gran cantidad de tiempo y costes de desarrollo.
.NET
Otra ventaja es que .NET MAUI está basado en .NET, por lo que si ya lo conoces puedes empezar a utilizarlo, y si no lo conoces basta con solo aprenderlo en vez de la alternativa de tener que utilizar un lenguaje de programación distinto para cada plataforma.
Hot reload
Uno de los cambios que se introdujo en .NET es la posibilidad de ver los cambios realizados en código con la aplicación en marcha a tiempo real sin la necesidad de tener que volver a compilarla, lo que es bastante cómodo durante el desarrollo ya que las aplicaciones no son precisamente rápidas de desplegar.
Conocimientos necesarios para desarrollar aplicaciones en .NET MAUI
Si ya has trabajado previamente con Xamarin ya dispones de los conocimientos necesarios para empezar a utilizar .NET MAUI, ya que este es la evolución de Xamarin y tienen muchas similitudes.
En caso de no haber trabajado nunca con Xamarin deberás familiarizarte primero con las tecnologías .NET y XAML. En el caso de .NET, hablamos de un framework desarrollado por Microsoft basado en el lenguaje de Programación C#, es multiplataforma y permite desarrollar aplicaciones web, de escritorio e incluso móviles. XAML es un idioma para la creación de interfaces de usuarios basado en XML. Ya era usado en WPF, el framework de Microsoft para crear aplicaciones de escritorio, y también en Xamarin, por lo que por supuesto lo tenemos también en .NET MAUI.
Herramientas
La herramienta que principalmente necesitamos es el entorno de desarrollo (IDE) Visual Studio, disponible tanto para Windows como para Mac, que nos permitirá desarrollar nuestras aplicaciones en .NET MAUI. También necesitaremos un MAC, al que conectaremos remotamente (por ssh) desde el Visual Studio, para poder compilar y generar la versión de iOS de nuestra aplicación. Opcionalmente, pero altamente recomendado, necesitaremos un teléfono Android/iPhone para probar nuestra app, o podemos usar el emulador que viene integrado con el Visual Studio.
Instalación Visual Studio
Para empezar a programar aplicaciones en .NET MAUI lo primero que necesitamos es instalar el Visual Studio 2022 que puede descargarse desde el siguiente enlace: Descargar Visual Studio 2022
Cuando nos pregunte sobre que complementos queremos instalar, tendremos que seleccionar “Desarrollo de la interfaz de usuarios de aplicaciones multiplataforma .NET”
En caso de ya tener Visual Studio instalado, podemos acceder a esta pantalla desde el menú superior “Herramientas” en la opción “Obtener herramientas y características…” o ejecutando el instalador y modificando la instalación del Visual Studio. Una vez instalado y configurado el Visual Studio, podemos crear nuestra primera aplicación.
Mi primera app
Para empezar a crear nuestra primera aplicación en .NET MAUI lo primero que tenemos que hacer es abrir el Visual Studio y seleccionar la opción de Crear un nuevo proyecto.
Entre las opciones que nos da, tenemos que elegir “Aplicación .NET MAUI”
Una vez elegimos el tipo de proyecto, le ponemos un nombre que queramos y elegimos la carpeta en la que vamos a guardar el código de nuestra aplicación. En el último paso elegimos la versión de .NET que queremos utilizar y ya se nos crearía nuestro proyecto.
.NET 6 es LTS (Long Term Support) mientras que .NET 7 es STS (Standard Term Support), la diferencia es que Microsoft ofrece 3 años de soporte a las versiones LTS y 18 meses de soporte a las versiones STS. Hay que tener en cuenta que Microsoft saca una versión de .NET cada año alternando entre TLS y STS, y el tipo de soporte que recibe la versión antes de decantarse por una u otra.
Estructura
La plantilla de aplicación .NET MAUI nos crea una aplicación de ejemplo con la siguiente estructura.
La principal diferencia con Xamarin es que, en vez de tener un proyecto distinto por cada plataforma, en .NET MAUI tenemos un único proyecto con una carpeta por plataforma, y para lanzar la aplicación en una plataforma u otra en vez de establecer el proyecto correspondiente como proyecto de inicio, lo podemos hacer directamente eligiendo la plataforma de destino con la que vamos a lanzar la aplicación desde la barra de herramientas.
Si seleccionamos el Android y ejecutamos la aplicación podremos ver la aplicación que acabamos de crear. En caso de no tener un emulador disponible te pedirá configurar uno e instalar el sdk de Android.
Ahora solo queda empezar a programar y darle forma a tu aplicación, te doy 5 consejos prácticos para ayudarte en el desarrollo de aplicaciones con .NET MAUI.
5 Consejos prácticos para comenzar en el desarrollo de aplicaciones en .NET MAUI
-
Patrón MVVM
El patrón de diseño MVVM (model – view – viewmodel) es una arquitectura de software que define como estructurar el código del proyecto de forma que la interfaz quede, en lo máximo posible, desacoplada de la lógica de la aplicación. A efectos prácticos esto se resume en separar el código del proyecto en tres apartados distintos.
- El modelo es la capa de dominio de la aplicación, en esta capa solo se encuentra la información y no debería contener ningún tipo de lógica.
- La capa de la vista contiene la interfaz gráfica, en esta capa se encuentran todas las vistas de la aplicación y es la que se encarga de mostrar y recibir información del usuario.
- La capa vista-model (viewmodel) es la que conecta la vista con el modelo y contiene toda la lógica de presentación.
Una de las principales ventajas de este patrón de diseño es que, al estar toda la lógica en el viewmodel, se pueden crear test unitarios para probar la app sin tener que pasar por la interfaz.
-
Community toolkit
Como ya fue el caso con Xamarin, .NET MAUI tiene una gran comunidad que ha dejado a nuestra disposición una serie de elementos que suelen usarse comúnmente en el desarrollo de aplicaciones y que están disponibles para que los usemos en nuestros proyectos.
Los podemos descargar instalando el paquete NuGet “CommunityToolkit.Maui” y podemos encontrar los elementos que contiene y su documentación en el siguiente enlace: Documentación NET MAUI Community Toolkit
-
Servicios
Una variante del patrón MVVM es MVVMS, esta variante consiste en sacar trozos de código que se repiten en varios viewmodel a otra capa del proyecto llamada Servicios, donde guardamos esta lógica que luego puede ser usada por distintos viewmodel.
Usar servicios es también bastante cómodo en pantallas con una gran cantidad de funcionalidad, ya que reducen considerablemente el tamaño de los viewmodel.
-
Usar pruebas unitarias
Las pruebas unitarias nos ayudan a encontrar los posibles errores en nuestra aplicación, aprovechando una de las ventajas de usar el patrón MVVM, podemos probar gran parte de la lógica de nuestra aplicación de forma más sencilla.
Las pruebas unitarias deben de ir en un proyecto separado dentro de la misma solución y siempre deben probar partes de código independientes.
-
Sigue aprendiendo
.NET, XAML, C#, … son varias las tecnologías que se utilizan con .NET MAUI sin contar la gran cantidad de complementos que tenemos disponibles como el community toolkit, todos ellos tienen una gran cantidad de cosas interesantes que puedes utilizar en tus aplicaciones y se van añadiendo nuevas constantemente, solo tienes que descubrirlas.
Si estás pensando en desarrollar diferentes aplicaciones para tu negocio, podemos ayudarte. Contacta con nosotros y pondremos a tu disposición lo último en tecnología y la experiencia de nuestro equipo.
Deja una respuesta
Lo siento, debes estar conectado para publicar un comentario.