BLOG

Viernes, 20 Octubre 2017 08:38

Desarrollando aplicaciones para iOS con Xamarin SIN MAC, Xamarin Live Player

jesus foto blog

  Hoy día Jesus Angulo, Software Architect de Trans Solutions Systems, Xamarin Mobile Developer, y recientemente certificado por Mircosoft como MVP (Most Valuable Professional), nos presenta una interesante opción para desarrollar aplicaciones para IOS sin la necesidad de tener una Mac.

mvp banner

 

Desde el lanzamiento de Xamarin, que nos trajo la posibilidad de desarrollar aplicaciones para iOS desde Windows y Visual Studio, los developers hemos soñado con la idea de desarrollar para la plataforma de Apple sin la necesidad de comprar una Mac. La necesidad de tener una conexión activa con una Mac generaba que la plataforma Windows sea menos atractiva en cuanto al desarrollo multiplataforma.

¿Necesito una Mac para trabajar con iOS en Xamarin?

¿Cómo instalo un emulador para iOS en Windows?

¿Qué necesito para virtualizar una Mac en mi Pc?

Todas estas preguntas son comunes en los eventos de Xamarin, si bien, la virtualización del sistema operativo OSX es posible sobre Pc, no es legal (como puede leerse en la sección J. Other Use Restrictions aquí).  Esta era la principal razón por la cual nuestro sueño de no necesitar una Mac tenía pocas esperanzas de realizarse. Hasta que….

Jesus 1

En mayo de este año, Microsoft anuncio Xamarin Live Player. Esta aplicación permite a nuestras apps de iOS ser desplegadas directamente a un iPhone o iPad desde una Pc corriendo Visual Studio, de esta forma podemos probar e incluso depurar nuestra aplicación.

“Ya no necesitamos una Mac para la parte esencial del ciclo de desarrollo”.

Desde entonces Xamarin Live Player ha estado disponible en el canal preview de Visual Studio, pero finalmente ha llegado al canal estable.

Momento de poner manos a la obra…

Como mencionamos anteriormente, Xamarin Live Player ya está disponible para el canal estable de Visual Studio 2017. Ahora debemos asegurarnos de tener la versión correcta. Dentro de Visual Studio, vamos al menú Help > About Visual Studio, y verificamos la versión que tenemos instalada. Debemos asegurarnos de tener por lo menos la versión 15.4.0.

Jesus 2

Si nuestra versión no está actualizada, cerramos las instancias de Visual Studio abiertas y procederemos a abrir nuestro Visual Studio Installer (basta con buscarlo en el menú inicio). Inmediatamente Visual Studio Installer iniciará su proceso de verificación y te sugerirá actualizarlo.

Jesus 3

Es necesario actualizar el Installer antes de iniciar con el proceso de actualización.

Jesus 4

Desde Visual Studio Installer podemos actualizar nuestro Visual Studio y así obtener la última versión disponible. Dependiendo de la conexión de red y prestaciones del equipo, este Update puede tardar más de 20 minutos, así que a tenerlo en cuenta. 

Jesus 5

Una vez que nuestro Visual Studio este actualizado, podremos acceder a una nueva opción dentro de Xamarin. Nos dirigimos al menú Tools > Options.

Jesus 6

En el menú de Options, buscamos Xamarin y luego la subsección Other. Dentro encontraremos Xamarin Live Player. Procedemos a activarlo marcando el check de Enable Xamarin Live Player.

Jesus 7

Ahora es momento de preparar nuestro(s) dispositivo(s). Recuerden que necesitamos descargar la aplicación de Xamarin Live Player en nuestros dispositivos y conectarlos a la misma red.

Los enlaces para descargar la aplicación de cada tienda se encuentran a continuación:

Jesus 8Jesus 9

Una vez instalado Xamarin Live Player en nuestro dispositivo, procederemos a continuar con el proceso de emparejado. En esta demostración vamos a utilizar un iPad Pro 9.7” con iOS 11.

Jesus 10

Para iniciar el emparejamiento nos dirijimos a Tools > Xamarin Live Player > Manage Devices…

Este menu solo estara disponible si activaste la caracteristica de Xamarin Live Player.

Jesus 11

En el cuadro de diálogo emergente veremos un código QR. Utilizaremos el código para emparejar nuestros dispositivos dentro de nuestra red local.

Jesus 12

Con esta ventana disponible nos dirigimos a nuestro dispositivo, en mi caso un iPad, y procedemos a abrir la aplicación Xamarin Live Player para escanear el código QR.

Jesus gif Connecting

Si el proceso fue exitoso, nuestro dispositivo se mostrará conectado tanto en la aplicación como en nuestro cuadro de diálogo en Visual Studio.

Jesus 13

Para probar nuestro Xamarin Live Player, vamos a crear una nueva aplicación de Xamarin.Forms. Usaremos la plantilla de Maestro-Detalle (Master Detail) y Shared Project.

Jesus 14

Luego de crearlo, fijaremos el proyecto de iOS como el proyecto de inicio (Startup Project).

Jesus 15

De esta manera, podemos ver como el dispositivo conectado a Xamarin Live Player, aparece como una opción de despliegue, en mi caso el iPad.

Jesus 16

¡ELEGIMOS NUESTRO DISPOSITIVO Y LE DAMOS EJECUTAR!!!

Jesus 17

Podemos ver como nuestra aplicación se ejecuta como si hubiera sido generado en nuestro agente Mac, pero en realidad todo está corriendo dentro de nuestro Xamarin Live Player.

Jesus gif Running

 Incluso podemos llegar más lejos y colocar puntos de interrupción en el código sin problemas.

Jesus 18

¿Necesitas acelerar el diseño de las pantallas en Xamarin.Forms?

Xamarin Live Player también posee una funcionalidad que equipara al Xamarin.Forms Previewer, pues nos permite usar nuestros dispositivos como una vista previa rápida de nuestras pantallas.

Para activar la vista previa nos dirigimos al menú Tools > Xamarin Live Player > Live Run Current View. Recuerda que deberás estar editando alguna página de Xamarin.Forms en ese momento para ver la vista previa en tu dispositivo.

Jesus 19

Tras unos segundos (si nuestro XAML es válido) veremos la vista previa de la página en pantalla.

Jesus 20

Jesus gif Live 1

Ahora podemos empezar a modificarla. Si cambiamos un texto, por ejemplo, veremos reflejados los cambios.

Jesus 21

Jesus gif Live 2

Podemos seguir probando cambios de textos, colores o incluso añadir o remover elementos de nuestro stack visual de elementos.

Jesus 22

Jesus gif Live 3

Jesus gif live 4

Consideraciones

Tenga en cuenta que el Xamarin Live Player se encuentra en Preview y actualmente presenta algunas limitaciones. Sobre todo, al tratar de acceder a características de hardware, aunque el soporte a algunas de ellas como lo es la cámara si se han implementado.

Las limitaciones actuales conocidas son:

  • La interfaz de usuario de Android diseñada con AXML no está actualmente soportada.
  • Algunas características de los storyboards de iOS no están soportadas.
  • Los archivos XIB de iOS no están soportados.
  • Custom Renderers no son soportados.
  • Los Embedded resources no son soportados (por ejemplo, incrustar imágenes en una PCL).
  • Soporte limitado para Reflection (actualmente afecta algunos NuGets populares, como SQLite y Json.NET). Otros NuGets aún están soportados.
  • Algunas características de la plataforma que requieren aprovisionamiento no funcionan en Xamarin Live Player.
  • Los Custom targets y build steps son ignorados. Por ejemplo, herramientas como Fody no se pueden incorporar.

Para más información pueden visitar el sitio  https://www.xamarin.com/live y reportar algún error encontrado en bugzilla.