Introducción
Cuando hablamos de desarrollos web e incluso desarrollos para escritorio los tiempos de despliegue y ejecucición junto con los requisitos a cumplir son extremadamente ajustados.
Cuando hablamos de movilidad, la cosa es algo diferente…
En el caso de Xamarin.iOS necesitamos contar con una conexión con Xamarin Mac Host para compilar y desplegar en el dispositivo o en el simulador.
En el caso de Xamarin.Android necesitamos contar con SDK de Android, instalar emuladores x86 para reducir tiempos de despliegue, etc.
¿Y si contámos con una opción más rápida y directa que reduzca a mínimos los requisitos para desplegar y probar la App?
Xamarin Live Player
Xamarin Live Player llega como opción para permitir editar al vuelo la aplicación y ver esos cambios reflejados directamente en el dispositivo. Se trata de una aplicación móvil (realizada con Xamarin y disponible en las diferentes Stores) que permite correr nuestro código sin necesidad de emuladores o un cable USB para desplegar la App.
La idea es:
- Tener una App Xamarin en el IDE (Visual Studio para Windows o MacOS).
- Emparejar un dispositivo con la App Xamarin Live Player.
- Lanzar la App en el dispositivo.
- Poder hacer cambios al vuelo!
De esta forma, se reducen tiempos y requisitos necesarios para desplegar y probar las Apps. No se necesita conexión con Mac, tener instalados emuladores, etc.
Preparando el entorno
Suena bien, ¿verdad?. Vamos a preparar el entorno y todo lo necesario.
1. Obtener la App
Comenzamos descargando la App móvil. Xamarin Live Player se encuentra disponible tanto para iOS como para Android.
2. Obtener Visual Studio 2017 Preview en Windows
Para poder utilizar Xamarin Live se necesita tener instalado:
- Visual Studio 2017 15.3 Preview
- Xamarin Updater
La elección de canales alpha, beta o estable que teníamos en versiones anteriores de Visual Studio no está disponible en Visual Studio 2017. En su lugar, tenemos dos canales de distribución de Visual Studio:
- Release
- Preview
Para tener acceso a las Previews, podemos descargar una versión de Visual Studio Preview.
NOTA: La Preview disponible al escribir estas líneas es la 15.3.
Durante el proceso de instalación, se puede introducir un Installation Nickname que nos permite distinguir la versión Preview de la versión de VisualStudio estable. De esta forma podemos tener instalados varias instancias diferentes.
Tras tener Visual Studio 2017 Preview instalado, debemos contar con Xamarin Updater disponible en Visual Studio Marketplace.
2. O para Mac
En el caso de utilizar MacOS se necesita tener macOS 10.12 o superior y tener instalado Visual Studio para Mac.
Emparejando dispositivos
Todo listo para probar. Para asegurar que lo tenemos todo listo, en Visual Studio debes encontrar la opción Xamarin Live Player en la opción Herramientas:
Con Xamarin Live Player preparado, al desplegar econtraremos la opción Live Player:
La primera vez que realizamos el despliegue, aparecerá la siguiente pantalla:
Para emparejar el dispositivo, debemos abrir la aplicación Xamarin Live Player previamente instalada y utilizar la cámara para capturar el código QR o bien, introducir en el IDE el código que aparecerá en la App.
Tras emparejar, todo preparado para comenzar a utilizar la herramienta!
Probándolo todo!
Ejecutamos la aplicación y en breves instantes:
Estamos utilizando una de las demos disponibles en Xamarin Live Player, una aplicación Xamarin.iOS ejecutada en un iPhone sin utilizar Mac Build Host.
NOTA: En esta demo tenenemos el iPhone conectado por USB al equipo de desarrollo con Windows para hacer Screen Mirroring. No es necesario conectar el dispositivo por cable para utilizar Xamarin Live.
Con la aplicación lanzada podemos interaccionar con ella:
Y podemos depurarla exactamente igual a cuando la desplegamos de forma habitual:
Por otro lado, encontramos la opción Live Run Current View.
Esta opción permite realizar cambios directamente al vuelo. Todo se irá compilando y ejecutando de forma continua en el dispositivo por lo que podremos ir aplicando cambios al vuelo y ver sus resultados de forma inmediata, sin recompilar todo ni esperas.
Limitaciones
No, la aplicación no es perfecta en estos momentos, ni funcionará todo. Recuerda que estamos aún ante una Preview. Entre las limitaciones encontramos:
- Algunas características de Storyboards en iOS no están soportadas.
- Algunas características del sistema no se soportan por la App. Sin embargo, opciones muy comunes como el uso de la cámara si están soportadas.
Entre las limitaciones más importantes tenemos:
- No se soportan archivos AXML (diseño de interfaces en Android).
- No se soportan archivos iOS XIB.
- Soporte limitado a reflexión. Ojo, porque hay muchos paquetes NuGets que se pueden ver afectados como el uso de SQLite.
¿Ya no necesito un MAC?
Xamarin Live Player nos permite probar nuestras aplicaciones Xamarin Native o Xamarin.Forms en dispositivos Android e iOS. Si, podemos desplegar aplicaciones Xamarin.iOS a un dispositivo iOS sin necesidad de Mac Build Host (conexión con un Mac).
Entonces, ¿ya no necesitamos un Mac?.
A pesar de no dudar de la evolución y soporte a más y más opciones en Xamarin Live Player, de momento cuenta con limitaciones a tener en cuenta.
Por otro lado, es necesario el Mac para el acceso a otras herramientas como diseñadores visuales de Storyboards, o bien, para crear paquetes, etc. Recuerda, necesitamos un Mac para compilar y crear el paquete.
En definitiva, tenemos una nueva opción que nos ayuda y acelera en el desarrollo e incluso, si, nos puede reducir la necesidad de conexiones con el Build Host pero no evita la necesidad del Mac en el desarrollo iOS.
Más información
Puedes descargar una presentación con un resumen de todo el artículo:
[slideshare id=75941939&doc=xamarinliveplayer-170513095046]
Enlaces:
- Xamarin Blog: Visual Studio Tools for Xamarin – Build Updates
- Blog de James Montemagno: Getting Started with the Xamarin Live Player
- Documentación Xamarin: Xamarin Live Player Setup
- Documentación Xamarin: Xamarin Live Player App
- Documentación Xamarin: Samples
- Documentación Xamarin: Troubleshooting