DEV Community

Vicente G. Guzmán Lucio
Vicente G. Guzmán Lucio

Posted on • Originally published at xamarinlatino.com on

Probando {XAML Hot Reload for Xamarin.Forms}

Se el por que estas aquí, y se que es tentador el conocer más sobre lo que ya has de haber leído en otros medios digitales, pero antes que nada te invito a que recordemos por ultima vez esa sensación de estar esperando el despliegue de tu aplicación nuevamente en un emulador o dispositivo solo para probar o visualizar los últimos cambios en la UI trabajando con Xamarin.Forms.

En el pasado Xamarin Developer Summit se lanzo una característica muy esperada por todos nosotros los que desarrollamos en Xamarin.Forms, y es que se anunció XAML Hot Reload for Xamarin.Forms, lo que en esencia nos permite realizar cambios en la interfaz de usuario de XAML y verlos reflejados en vivo, sin necesidad de otra compilación o implementación.

Y bueno, creo que la mayoría de ustedes que esta leyendo esto no puede negar el hecho de que, es o era un poco molesto el tener que reconstruir y reiniciar la depuración para cada cambio visual menor y tener que esperar de 10 segundos a 1 minuto (dependiendo del equipo), solo para descubrir que el cambio no es lo que se quería. Sabemos que en el camino se han presentado algunos intentos de superar esto, por ejemplo ha habido una vista previa de XAML y Xamarin Live Player, pero todos eran diferentes de lo que Hot Reload nos permite hacer.

Entonces.., ¿qué es Hot Reload?

XAML Hot Reload for Xamarin.Forms es el proceso que nos permite el poder acelerar el desarrollo de nuestra interfaz de usuario, es decir, cada vez que realicemos un cambio vía XAML en nuestra aplicación en ejecución, simplemente presionamos guardar y ¡listo!, nuestros cambios ya se encuentran en pantalla, sin importar si nos encontramos utilizando un emulador o un dispositivo físico.

Suena genial, ¿verdad?. Veámoslo en funcionamiento:

https://youtu.be/Y3nGkzbc0JE

Tal y como lo pudimos observar se soportan cambios en cualquier tipo de archivo XAML, es decir, se soportan Páginas, ContentView’s, App, Recursos o Shell, y es que cuando la aplicación se compila utilizando XAML Hot Reload, funciona con todas las bibliotecas y controles de terceros.

Características principales:

  • Permite ver los cambios de XAML al instante una vez desplegada la App en modo depuración.
  • Funciona en Visual Studio 2019 tanto en Windows como macOS.
  • Funciona tanto como para Android como para iOS.
  • Soporta emuladores y dispositivos físicos.
  • Soporta plugins, librerías de terceros, SkiaSharp, etc.

Resumen

XAML Hot Reload llega para ayudar reducir drásticamente los pasos y tiempos necesarios para iterar en UIs. No hace falta hacer nada especial para usar XAML Hot Reload. Sencillamente, compila y despliega tu App como lo harías normalmente y a partir de ese momento solo tienes que hacer cualquier cambio en XAML. Es decir, tampoco es necesario instalar ningún paquete NuGet adicional en la App o realizar cualquier lógica de inicialización en la misma.

Esto es así porque XAML Hot Reload usa el depurador y no una conexión de red, así que funciona con o sin conectividad. Edita XAML y guarda los cambios. Al volver a cargar, se mantendrá el estado de navegación. Si usas el patrón MVVM, el estado de la interfaz de usuario vinculado a la ViewModel permanecerá intacto.

Ejemplo utilizado: Bindable Layouts

XAML Hot Reload estará disponible más adelante en 2019, pero puedes registrarte para participar en la fase de vista previa.

Preview Privada

Si quieren probar XAML Hot Reload, desde ya, pueden registrarse para obtener una Preview, en el siguiente enlace pueden encontrar toda la información: https://devblogs.microsoft.com/xamarin/xaml-hot-reload.

Cabe destacar que se están agregando a grupos por lotes, así que no se preocupen si no pueden obtenerlo de forma inmediato. Y recordemos que cualquier feedback es importante para continuar mejorando.

Estoy seguro de que esta nueva característica hará la vida de todos los que somos desarrolladores de Xamarin.Forms mucho mejor y más fácil.

Más información

¡Happy Coding Reload!


Top comments (0)