[Xamarin] Probando Continuous Coding

XamarinIntroducción

Xamarin lanzó una nueva herramienta para aplicaciones iOS, Android, Mac y WPF llamada Xamarin Inspector que nos permite acelerar el desarrollo permitiendo:

  • Ver el árbol visual de elementos de la interfaz. En OSX además se puede ver una visualización 3D con capas con los diferentes elementos visuales que componen la interfaz.
  • Poder seleccionar elementos y modificar propiedades.
  • Poder ejecutar evaluaciones de expresiones C# con REPL (Read-Eval-Print Loop).

Entre todas las opciones la última es increíblemente interesante ya que permite realizar múltiples pruebas en tiempo real sin necesidad de realizar recompilaciones del proyecto, proceso que conlleva un tiempo en el que no podemos continuar nuestro desarrollo. Esto mismo debió pensar Frank A. Krueger que ante la posibilidad de poder utilizar ensamblados dinámicos se ha lanzado a crear Continuous Coding anteriormente conocido como Live Coding.

Continuous Coding

La propuesta de Continuous Coding es reducir al máximo el ciclo de compilar y ejecutar permitiendo en tiempo real evaluar el código tanto de la lógica como por puesto a nivel de UI. Poder contruir la interfaz al vuelo viendo directamente los resultados de cada línea aplicada además de poder enlazar la misma con la lógica y el backend segun vamos escribiendo.

Suena a mágico, ¿verdad?

En eso consiste Continuous Coding actualmente disponible en C# para Xamarin en Android e iOS.

Preparando el entorno

El paso inicial de todos es instalar Xamarin Inspector.

Podemos instalar la herramienta tanto en Windows como en OSX de forma sencilla.

Instalando Xamarin Inspector

Instalando Xamarin Inspector

El siguiente paso será instalar el add-in de Continuous Coding para Xamarin Studio.

NOTA: Actualmente solo soportado en Xamarin Studio.

En Xamarin Studio seleccionamos Archivo -> Gestor de complementos. Una vez en la galería de complementos, seleccionamos la opción de repositorios.

Repositorios

Repositorios

Añadimos un nuevo repositorio utilizando la siguiente URL:

https://raw.githubusercontent.com/praeclarum/Continuous/master/Continuous.Client.MonoDevelop/AddinRepo
Repostorio añadido

Repostorio añadido

Utilizando Continuous coding

Creamos una nueva aplicación, para este ejemplo crearemos una aplicación Xamarin.Forms.

Nuevo proyecto Xamarin.Forms

Nuevo proyecto Xamarin.Forms

Debemos añadir una referencia desde los proyectos iOS y Android al paquete NuGet de Continuous.

NuGet Continuous

NuGet Continuous

A continuación, añadiremos:

#if DEBUG
new Continuous.Server.HttpServer(this).Run();
#endif

En puntos de inicialización de la App. En el caso de iOS AppDelegate.FinishedLaunching y en el caso de Android Activity.OnCreate son lugares idóneos.

NOTA: this es el contexto en Android. En iOS puede ser cualquier cosa.

En el caso de utilizar el emulador de Android tendremos que hacer un forward del puerto utilizado por Continuous:

$ adb forward tcp:9634 tcp:9634

Llegados a este punto tenemos todo lo necesario para usar Continuous Coding. Ejecutamos la App en depuración como lo haríamos normalmente. Tenemos el panel de Continuous Coding disponible en Ver -> Paneles -> Continuous Coding.

Panel Continuous Coding

Panel Continuous Coding

Podemos enviar Snippets de código utilizando el botón Set Type o la combinación de teclado Ctrl+Shift+Return. En caso de desar que todo lo que vamos editando vaya actualizándose en tiempo real debemos usar el botón Refresh del panel o la combinación de teclas Ctrl+Shift+C.

Podéis ver a continuación a Continuous Coding en acción.

Continuous en acción!

Continuous en acción!

El sencillo ejemplo mostrado anteriormente lo podéis encontrar en GitHub:

Ver GitHub

One more thing

James Montemagno, evangelista de Xamarin, se lanzó este verano con un nuevo formato llamado Motz Codes Live basado en Hangouts de 30-60 minutos tratando diferentes aspectos relacionado con el desarrollo de aplicaciones con Xamarin. En el último de ellos junto a Frank A. Krueger realizaron un recorrido bastante completo por Continuous:

Más información

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 )

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 )

Google+ photo

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

Conectando a %s