Warning: Attempt to read property "base" on array in /usr/home/pasiona.com/web/wp-content/plugins/wp-user-profile-avatar/shortcodes/wp-user-profile-avatar-shortcodes.php on line 665 Warning: Attempt to read property "base" on array in /usr/home/pasiona.com/web/wp-content/plugins/wp-user-profile-avatar/shortcodes/wp-user-profile-avatar-shortcodes.php on line 665

.NET MAUI – La evolución de Xamarin.Forms (2/2)

Noureddine Maachi 22/12/2022
    .NET MAUI

    En estas fechas Navideñas volvemos, y a diferencia del Grinch, venimos a entregaros nuestro regalo particular y el que más nos gusta: nuestro conocimiento. Esta vez contamos con la segunda parte sobre la nueva tecnología que nos proporciona Microsoft para el desarrollo Mobile, .NET MAUI.

    Recordaros que en la primera parte ya comentamos los principales cambios y mejoras de .NET MAUI respecto a Xamarin.Forms y cómo Pasiona, con las tecnologías con las que trabajamos, hemos desarrollado grandes éxitos para nuestros clientes. Os avanzamos en primicia que, en breve, prepararemos un artículo sobre uno de nuestros últimos clientes que nos hace salivar, y en el que podréis conocer a un integrante del equipo: Víctor Madurga Martín, pero… mejor no os avanzamos más por el momento, ¡y ya lo descubriréis en unas semanas!

    ¡Vamos al tema! Como os prometimos, en esta segunda parte indagaremos un poco más en el aspecto técnico y comentaremos en profundidad algunas de las mejoras que nos ofrece .NET MAUI.

    Como ya os hemos indicado, las mejoras que nos regala MAUI son muchas y variadas, pero desde Pasiona creemos y apoyamos dos grandes áreas: la accesibilidad y la usabilidad. Por esta razón, en este segundo artículo hemos decidido centrarnos en ambas y, como podréis comprobar, serán los pequeños cambios los que aportarán un gran valor en el desarrollo.

     

    Accesibilidad

     

    La accesibilidad es el principal tema a tratar. En el contexto de las aplicaciones móviles, la accesibilidad es fundamental para que usuarios con diferentes capacidades puedan utilizarlas. Para ello MAUI nos proporciona una gran cantidad de herramientas:

     

    Propiedades semánticas

     

    Las propiedades semánticas se usan para definir la información sobre qué texto se debe leer en voz alta al usuario y cuál es el foco de accesibilidad. Importante aclarar lo siguiente: .NET MAUI internamente ya se encarga de adaptar la accesibilidad para cada plataforma, sin necesidad de que nosotros hagamos nada.

     

    Descripción 

    *imagen de XAML creando un elemento del tipo imagen con el campo asignado SemanticProperties.Description

    El campo SemanticProperties.Description representa una breve descripción sobre el control en cuestión, en este caso una imagen.

     

    Pista 

    imagen de XAML creando un elemento del tipo imagen con el campo asignado SemanticProperties.Description y el campo SemanticProperties.Hint

    El campo SemanticProperties.Hint se utiliza para proporcionar un contexto adicional a la propiedad SemanticProperties.Description.

     

    Niveles de título 

    *imagen de XAML creando un elemento del tipo imagen con el campo asignado SemanticProperties. HeadingLevel

    El campo SemanticProperties.HeadingLevel nos ayuda a definir los diferentes encabezados dentro de una vista en nuestra aplicación. Esta funcionalidad es más útil en plataformas como Windows, ya que en Android y iOS se utiliza un solo nivel de encabezado.

     

    Enfoque y lector de pantalla semánticos

    Para terminar con el tema de la accesibilidad, comentaremos el principal cambio sobre la accesibilidad que sí nos proporciona .NET MAUI y que Xamarin.Forms no. Pues ahora somos capaces, con respecto al código, de lanzar cualquier texto para que el narrador nos lo lea. Esto es muy cómodo cuando, por ejemplo, debemos actualizar la vista. Con esta simple línea de código podemos avisar al usuario:

    • Imagen ejemplo de texto : SemanticScreenReader.Default.Announce(“Este es un texto para ser narrado”);

    También podremos enfocar cualquier tipo de control con esta otra simple línea de código:

    * Imagen ejemplo de texto label.SetSemanticFocus()

    Sombreados

    Cuando realizamos aplicaciones accesibles y usables, nuestros compañeros nos crean diseños con pequeños matices como puede ser un sombreado que nos ofrece contrastes y mejora la visibilidad de elementos. Maui para estos pequeños detalles también ha venido a ayudarnos, por ejemplo, con Xamarin.Forms. Si queríamos añadirle un sombreado a un control como una imagen, teníamos que buscar soluciones alternas, ya que no se nos proporcionaba directamente cómo hacerlo. Con .NET MAUI este problema desaparece, puesto que nos proporciona una forma fácil y sencilla de hacerlo. Aquí tenéis un ejemplo:

    *imagen con la creación de un Shadow en una imagen.

     

    Adaptación al tema del dispositivo

    Con .NET MAUI conseguimos que nuestra aplicación multiplataforma se adapte visualmente a los temas claros u oscuros de nuestro dispositivo. Aun así, puede interesarnos definir determinados colores en según qué controles y casos. Aquí tenéis un ejemplo:

    *ejemplo de adaptación de un textcolor con las propiedades Light y Dark

    Nos quedan muchísimas cosas que nos gustaría seguir explicándoos, puesto que las mejoras y novedades son muchas y variadas. ¡Si nos compartís, estaremos encantados de contároslas!

     

    Enlaces/Aportes/Ejemplos

     

    A la espera de nuestro próximo texto, ¿queréis seguir curioseando lo que .NET MAUI nos ofrece? Aquí os compartimos algunos enlaces:

     

    • Documentación .NET MAUI (.NET 7.0):

    .NET Multi-platform App UI documentation – .NET MAUI | Microsoft Learn

     

    • Curso completo de Microsoft:

    Build mobile and desktop apps with .NET MAUI – Training | Microsoft Learn

     

    • Accesibilidad con .NET MAUI:

    Build accessible apps with semantic properties – .NET MAUI | Microsoft Learn

     

    • Ejemplos:

    GitHub – dotnet/maui-samples: Samples for .NET Multi-Platform App UI (.NET MAUI)

     

    Desarrollo Móvil

    Noureddine Maachi

    Enthusiast of mobile applications and the world of smartphones. Here you will find me to explain the technical news in the mobile field and try to transmit tips so that we can improve as a community!

    , , ,

    Volver