El pasado sábado 10 de Junio, tenía lugar en Madrid el Xamarin Dev Days. Una jornada con varias sesiones técnicas, taller, regalos y mucho networking.
El resultado fue un fantástico día de desarrollo Xamarin con muchas preguntas, ayuda y tiempo para charlar entre todos rodeados de un café o unas pizzas.
El material
Pude participar en el evento con una de las sesiones. Nos centramos en el desarrollo de aplicaciones móviles multiplataforma utilizando Xamarin.Forms:
Comenzamos por una introducción de conceptos básicos, primera demo y terminamos repasando todas las últimas novedades como Forms Embedding o las futuras novedades de Xamarin.Forms 3.0.
Tras las sesiones, realizamos un muy divertido taller donde paso a paso, desarrollamos una aplicación Xamarin.Forms aplicando MVVM y accediendo a una Azure Mobile App.
En cuanto a las demos técnicas realizadas, las tenéis disponible en GitHub:
Un día genial de comunidad con grandes momentos que esperamos repetir sin duda!
¿Tienes pensado instalar o tienes instalado Linux en tu dispositivo IoT, usando la flexibilidad y potencia de C#?.
Xamarin IoT permite a los desarrolladores crear aplicaciones de consola, usando IDE’s de primer nivel como son Visual Studio, Visual Studio for Mac/Linux, además de poder ejecutar y debuguear tu aplicación favorita de un dispositivo remoto.
Una charla intensa, donde si el tiempo nos lo permite, intentaremos abordar todos los puntos:
Presentación e introducción Xamarin.IoT.
Setup de dispositivo.
Arquitectura.
Ejemplos de uso.
Hermes.Mqtt Client/Server.
Azure Sql Database + Entity framework.
IoTSharp.Components.
A todos estos puntos y a todas las preguntas posibles intentaremos dar solución en esta sesión online!.
El ponente
Tendré la compañía en esta ocasión de Jose Medrano. Jose es desarrollador de software y actualmente trabaja en Xamarin formando parte del equipo de Xamarin Profiler & Xamarin IoT.
Recientemente, en SVQXDG, tuvimos un interesante evento Xamarin relacionado con el rendimiento en Xamarin.Forms. Tras recibir feedback por diferentes redes sociales, meetup o vía correo, ante el interés en diferentes partes geográficas hemos decidido…repetir el evento online!
El evento
¿Sabes el ciclo de vida de un Layout?, ¿qué opciones de Layout son más óptimas?, ¿cómo afectan los Bindings al rendimiento y como tratarlos?, ¿rendimiento en listados?, ¿fast renderers?. A todas esas preguntas y a otras tantas, intentaremos dar solución en esta sesión online!.
Hace ya un tiempos os hablé del concursode desarrollo de aplicaciones Xamarin. Microsoft quiere animarte a lanzarte a crear Apps participando en el Hackathon Online que se organizará los próximos 16, 17 y 18 de Junio. Antes de llegar al Hackathon, se está realizando una toma de contacto con Xamarin además de resolver dudas basándonos en el Hand On Lab de Pierce Boggan, “Spent”.
En este taller, exploraremos las características y funcionalidad de Xamarin.Forms desde una aplicación para hacer el seguimiento de los gastos.
El evento
Tras publicar los cinco módulos correspondientes al Hand On Lab y tras varios eventos online donde se han repasado los cuatro primeros módulos con grandes compañeros de la comunidad, llega el turno de quinto módulo centrado en procesos de integración continua y distribución continua utilizando VSTS y HockeyApp.
En el evento veremos como crear Builds para aplicaciones Xamarin desde VSTS y desde Mobile Center, como distribuir betas desde HockeyApp o cómo obtener analíticas de uso, información de errores, etc.
La accesibilidad es un factor de vital importancia que por suerte, es tenida en cuenta cada vez con mayor frecuencia y peso en desarrollos web, móviles, etc.
Cuando hablamos de accesibilidad en el desarrollo, nos referimos al concepto de diseñar interfaces de usuario que funcionen de forma correcta ante las diferentes características de visualización y asistencia de entrada. La gestión de alto contraste, zoom, tamaño de fuente o la lectura de pantalla son opciones que permiten el acceso de muchos usuarios a nuestras aplicaciones.
Las principales plataformas móviles del mercado, es decir, iOS, Android y Windows cuentan con APIs para permitir a los desarrolladores crear aplicaciones accesibles.
Xamarin.Forms nos permite crear aplicaciones multiplataforma nativas compartiendo interfaces de usuario gracias a su capa de abstraccion.
¿Cómo creamos aplicaciones accesibles con Xamarin.Forms?
Soporte a accesibilidad en aplicaciones Xamarin.Forms
En versiones previas de Xamarin.Forms para añadir opciones de accesibilidad, requeríamos de Custom Renders. Acceder a APIs nativas para acceder a opciones de accesibilidad. Con la llegada de los efectos, todo se simplificó pemitiendo crear efectos con acceso a APIs nativas de forma más sencilla.
Con la llegada de Xamarin.Forms 2.3.5 se añade soporte directo a APIs de accesibilidad.
Opciones de accesibilidad
Xamarin.Forms incluye diferentes opciones de accesibilidad disponibles en la clase AutomationProperties y disponibles como propiedades adjuntas. Estas propiedades se encargan de añadir en cada plataforma el uso correcto de las diferentes opciones de accesibilidad.
AutomationProperties.HelpText
AutomationProperties.IsInAccessibleTree
AutomationProperties.LabeledBy
AutomationProperties.Name
HelpText
Es un valor de tipo cadena que se utilizará para sintetizar en voz.
En cada plataforma se utilizará una propiedad corespondiente a las APIs nativas:
Android: Hint
iOS: AccesibilityHint
Windows: AutomationProperties.HelpTextProperty
IsInAccesibleTree
Propiedad de tipo bool que indica si el elemento es accesible.
Esta propiedad permite que otro elemento visual defina información de accesibilidad. Así, podemos utilizar la información de otro elemento para ayudar a describir.
Internamente, cada plataforma utiliza las siguientes propiedades:
En general, a la hora de gestionar la accesibilidad en tu aplicación, deberíamos tener en cuenta los siguientes detalles:
Haz pruebas de tu interfaz con los esquemas de color en modo contraste alto.
Etiqueta los elementos de la interfaz con textos descriptivos utilizando las APIs de accesibilidad para permitir la lectura de la pantalla en cada plataforma.
Recuerda etiquetar también botones e imágenes de la aplicación con una descripción accesible.
Excluye elementos de decoración innecesarios!.
En muchas ocasiones las aplicaciones móviles gestionan diferentes estados sólo con elementos visuales. Por ejemplo, al realizar la carga de elementos, mostramos un indicador visual para indicar progreso y fin. Recuerda agregar en estos indicadores específicos de accesibilidad. También se pueden añadir refuerzos acústicos.
Ante contenido multimedia recuerda añadir descripciones legíbles y permitir acceder de forma sencilla a los botones de gestión del contenido.
Si la aplicación está localizada en diferentes idiomas, recuerda localizar también todas las descripciones de accesbilidad añadidas.
Cada plataforma cuenta con herramientas diferentes de narración. Android cuenta con opciones como Google TalkBack, iOS cuenta con VoiceOver y Windows con Narrator. Cada plataforma funciona de forma única a pesar de todas ellas contar con opciones similares. Es recomendable hacer pruebas en todas las plataformas donde nuestra aplicación puede funcionar.
En Xamarin.Forms, ¿sabes el ciclo de vida de un Layout?, ¿qué opciones de Layout son más óptimas?, ¿cómo afectan los Bindings al rendimiento y como tratarlos?, ¿rendimiento en listados?, ¿fast renderers?. A todas esas preguntas y a otras tantas, intentamos dar respuesta en el último evento de SVQXDG celebrado el pasado 24 de Mayo.
En cuanto a las demos técnicas realizadas, las tenéis disponible en GitHub:
Gracias a todos los asistentes al evento. En esta ocasión me ha sorprendido la enorme cantidad de feedback y peticiones relacionados con esta sesión. Pronto se anunciará su repetición en esta ocasión online!