Un vistazo al Xamarin Community Toolkit

Hace un tiempo…

Hace ya varios años, y con James Montemagno junto a varios miembros de la comunidad nacía el Xamarin Community Toolkit. La idea era crear una librería con Converters, efectos, controles, etc. donde añadir contenido creado por al comunidad en una librería con respaldo por Microsoft.

Durante un tiempo, se ha mantenido sin grandes movimientos hasta este año…

Vuelve con más y mejor!

Este año, un servidor junto a Gerald Versluis hemos retomado el concepto inicial con la idea de ayudar en el mantenimiento a la hora de revisar PRs, ideas, crear releases, etc. así como ayudar a la comunidad a llegar al Toolkit y…el Xamarin Community Toolkit ha vuelto con más fuerza que nunca!

Xamarin Community Toolkit

¿Qué ofrece el Community Toolkit a día de hoy?

Behaviors

Los Behaviors permiten asociar código que modifica el comportamiento de un elemento visual.

Los Behaviors disponibles son:

  • EmailValidationBehavior: Permite validar si el texto introducido es un email.
  • EventToCommandBehavior: Permite asociar un evento con un comando.
  • NumericValidationBehavior: Valida si el texto introducido es numérico.
  • AnimationBehavior: Permite lanzar animaciones desde código XAML.
  • MaskedBehavior: Permite añadir una máscara para distinguir si los datos que introduce el usuario son apropiados o inapropiados.
  • UriValidationBehavior: Valida si el texto introducido es una Url.
  • MultiValidationBehavior: Uno de los behaviors más versátiles permitiendo hacer múltiples validaciones de forma sencilla.
  • RequiredStringValidationBehavior: Valida si una caja de texto tiene una cadena vacía o no.
  • UserStoppedTypingBehavior: Este behavior espera a que el usuario deje de escribir para ejecutar un comando. El umbral de espera es ajustable, así como también hay una opción para cerrar el teclado después de que el usuario haya dejado de escribir.
  • ImpliedOrderGridBehavior: Valida el orden de filas y columnas de un Grid.
  • MaxLenghtReachedBehavior: Permite detectar si ha alcanzado el límite de caracteres.
  • CharactersValidationBehavior: Permite validar un mínimo o máximo de caracteres y poder reaccionar en ambos casos (cambiar estilos, etc.).

Converters

Los enlaces de datos normalmente transfieren datos desde una propiedad de origen a una propiedad de destino y, en algunos casos, desde la propiedad de destino a la propiedad de origen. Esta transferencia es sencilla cuando las propiedades de origen y destino son del mismo tipo, o cuando un tipo se puede convertir al otro mediante una conversión implícita.

Sin embargo, cuando no es así, debe realizarse una conversión de tipos. Los Converters se encargan de solucionar estos casos y hacer la conversión de tipos necesario.

El Xamarin Community Toolkit intentará agrupar en una misma librería la mayoría de Converters más utilizados, aquellos que usas en cada proyecto y transfieres de un proyecto a otro.

Los Converters disponibles son:

  • ItemTappedEventArgsConverter
  • ItemSelectedEventArgsConverter
  • ByteArrayToImageSourceConverer
  • MultiConverter
  • DateTimeOffsetConverter

Efectos

Con los efectos se pueden personalizar los controles nativos de cada plataforma y normalmente se usan para pequeños cambios de estilo.

En el Toolkit se cuentan con interesantes efectos:

  • SafeAreaEffect: Es un efecto que se puede agregar a cualquier elemento visual a través de una propiedad adjunta para indicar si ese elemento debe tener en cuenta Safe Area (iOS 11 y superior). Específicamente, ayudará a asegurarse de que el contenido no esté recortado por las esquinas redondeadas del dispositivo. El efecto solo es válido en iOS, lo que significa que en otras plataformas no hace nada.
  • RemoveBorderEffect: Eliminar el borde en Entry. Permite crear cajas de texto totalmente personalizadas.
  • SelectAllTextEffect: Permite seleccionar todo el texto de Entry, etc. al tener el foco.
  • IconTintColorEffect: Permite tintar con un color un icono.
  • TouchEffect: Uno de los efectos que añade más posibilidades. Añade múltiples posibilidades con eventos touch como detectar up/down, long press, etc.

Controles

AvatarView

AvatarView representa de forma visual el nombre de un usuario usando las iniciales y un color de fondo generado. Permite diferentes opciones de personalización tanto con iniciales como con imagen asó como personalizar colores, fuente, etc.

BadgeView

Vista utilizada para notificar a los usuarios notificaciones o el estado de algo. Permite posicionar el elemento en cada esquina (arriba izquierda, arriba derecha, abajo izquierda y abajo derecha) además de poder personalizar tamaños, colores o la animación a usar cuando el badge aparece o desaparece.

CameraView

CameraView permite mostrar una vista previa en vivo de la cámara. ¡Puedes tomar fotos, grabar videos y mucho más!.

DockLayout

Es un Layout que facilita el acoplamiento de contenido en las cuatro direcciones (superior, inferior, izquierda y derecha).

GravatarImageSource

GravatarImageSource permite utilizar fácilmente la imagen de Gravatar de un usuario de Gravatar.com usando nada más que su dirección de correo electrónico.

Expander

El control Expander proporciona un contenedor expandible para alojar cualquier contenido. ¿Te suena este control?. Sí, ha sido movido desde Xamarin.Forms (experimental) al Toolkit.

HexLayout

Un Layout que organiza los elementos en un patrón de panal abejas.

MediaElement

Otro control portado de Xamarin.Forms al Toolkit. Es una vista que permite reproducir video y audio.

RangeSlider

El RangeSlider es un control deslizante con dos Thumbs que permite seleccionar rangos numéricos. Con una infinidad de opciones de personalización tanto de fondo, barra y Thumbs, permite adaptar el control a una enorme variedad de necesidades.

SnackBar

Permite mostrar SnackBar, Toasts, etc.

SideMenuView

SideMenuView es un control que permite mostrar un menú derecho/izquierdo de forma simple y flexible.

Shield

Pueden mostrar cierta información de estado de forma similar a una insignia.

StateLayout

Una colección de propiedades adjuntas que le permiten especificar una o más vistas de estado para cualquiera de los Layouts existentes.

TabView

Un control que permite mostrar un conjunto de pestañas y su contenido respectivo. Con posibilidad de personalizar la apariencia de cada pestaña, gestión de animaciones, personalizar la pestaña seleccionada, etc. Abre muchas posibilidades no posibles hasta ahora a la hora de crear pestañas.

UniformGrid

El UniformGrid es como el Grid, pero con todas las filas y columnas con el mismo tamaño.

¿Qué es lo que viene?

La participación y colaboraciones en el Xamarin Community Toolkit por parte de la comunidad Xamarin es cada vez mayor (Gracias!). Gracias a esto, las novedades y nuevas posibilidades llegan de forma frecuente.

Proximamente tendremos:

Popup

Implementación nativa de Popups en cada plataforma.

SegmentedView

SegmentedControl para Xamarin.Forms:

Más información

GitHub: Xamarin Community Toolkit

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s