¿Qué son las aplicaciones móviles multiplataforma?
Las aplicaciones móviles multiplaforma son aquellas que están creadas con un lenguaje único de programación con el objetivo de facilitar el proceso de exportación y visualización en cualquier tipo de dispositivo y de sistema operativo.
¿Cuál es el objetivo de Microsoft con las aplicaciones móviles multiplataforma?
Durante este año 2022, desarrollar aplicaciones móviles multiplataforma ha sido el objetivo de Microsoft y ha presentado su versión final de la evolución de Xamarin.Forms.
Se trata de .NET Multi-platform App UI (.NET MAUI, también conocida como MAUI .NET), un marco multiplataforma de código abierto pensado para crear aplicaciones móviles multiplataforma y de escritorio nativas con C# y XAML, las cuáles se pueden ejecutar en dispositivos con Android, iOS, macOS y Windows. Todo ello partiendo desde una única base código compartida.
Un único proyecto para desarrollar aplicaciones móviles multiplataforma
.NET Maui o MAUI .NET nos permite desarrollar aplicaciones móviles multiplataforma desde un único proyecto base y compartir tanto lógica de negocio como definición de UI para las plataformas Android, iOS, macOS y Windows. También se comparten recursos, como fuentes e imágenes. Esto representa una importante ventaja a la hora de optimizar tiempos de desarrollo y mantenimiento de aplicaciones. Además, al trabajar con un mismo lenguaje de programación, los equipos de desarrollo quedan más unificados.
Mejoras de rendimiento con .NET MAUI o MAUI .NET
Además de las mejoras de rendimiento y compatibilidad que se introducen con .NET 6, esta evolución de Xamarin.Forms a .NET MAUI aporta nuevos controles y mecanismos de renderizado más optimizados. También se ha mejorado considerablemente el tiempo de inicialización de las aplicaciones móviles multiplataforma en Android.
Recarga activa de .NET
Asimismo, se incluye compatibilidad con la recarga activa de .NET, que permite modificar el código fuente administrado mientras se ejecuta la aplicación, sin necesidad de pausar o alcanzar manualmente un punto de interrupción.
También incluye compatibilidad con la recarga activa de XAML, que permite guardar los archivos XAML y ver los cambios reflejados en la aplicación en ejecución sin volver a compilar. Además, el estado de navegación y los datos se mantendrán, lo que le permite iterar rápidamente en la interfaz de usuario sin perder su lugar en la aplicación.
Unificación .NET 6
Microsoft ha decidido unificar todas sus especificaciones en .NET 6, su nueva versión de framework multiplataforma. Quedan unificados por tanto los SDK orientados a desarrollo en la nube, escritorio, IoT y aplicaciones móviles. Esto permite compartir código de una manera mucho más eficiente y evita los problemas de compatibilidad y restricciones que encontrábamos en .NET Standard, además de mejorar el rendimiento.
API Aplicaciones móviles Multiplataforma con .NET MAUI
De esta manera, .NET MAUI o MAUI .NET proporciona una API Aplicaciones Móviles multiplataforma que nos permite agilizar el desarrollo de funcionalidades que acceden a características nativas de dispositivo:
- Acceso a sensores (acelerómetro, brújula y giroscopio).
- Capacidad de comprobar el estado de conectividad de red del dispositivo y detectar cambios.
- Información sobre el dispositivo en el que se ejecuta la aplicación.
- Copia y pegado texto en el Portapapeles del sistema, entre aplicaciones.
- Seleccionar archivos del dispositivo.
- Almacenamiento de datos de forma segura como pares clave-valor.
- Uso de motores de texto a voz integrados para leer texto del dispositivo.
- Inicialización de flujos de autenticación basados en explorador que escuchen una devolución de llamada a una dirección URL registrada de aplicación específica.
Integración con Blazor
De igual forma, se incluye la opción de hospedar código Blazor, posibilitando la integración total o parcial de aplicaciones web con el fin de reutilizar código desarrollado previamente o facilitar el desarrollo de aplicaciones móviles multiplataforma .NET MAUI a desarrolladores web.
BlazorWebView es un control que permite hospedar una aplicación web Blazor en la aplicación MAUI .NET . Estas aplicaciones, conocidas como aplicaciones híbridas de Blazor, permiten que una aplicación web Blazor se integre con las características de la plataforma y los controles de interfaz de usuario.
Patrones de diseño
Como añadido a los patrones de diseño ya soportados por Xamarin.Forms (MVVM (model-view-viewmodel) y RxUI (ReactiveUI), .NET MAUI añade soporte para trabajar con MVU (model-view-update) y Blazor Development Patterns.
Multi-Windows
La funcionalidad multi-ventana que introduce .NET MAUI puede ser muy útil sobre todo para aplicaciones de escritorio, ya que permite tener abiertas diferentes ventanas gestionadas por una misma aplicación.
Un avance hacia la innovación sostenible
Definitivamente, las aplicaciones móviles multiplataforma representan una oportunidad y un avance hacia la innovación sostenible en el sector empresarial.
Por esta razón, cada día más empresas se siguen sumando a formar parte de la nueva industria 5.0 que pretende combinar tecnología y talento humano para seguir creciendo con sus negocios.