Xamarin, con un recorrido relativamente corto, cuenta ya con más de 1.300.000 descargas. Gracias a su proyecto Mono, Miguel de Icaza y Nat Friedman, pudieron ser capaces de traducir .NET a iOS y Android en 2011.

Pero, ¿Qué es Xamarin?

Xamarin es una herramienta para el desarrollo móvil la cual ofrece una serie de servicios:

         Xamarin Platform

         Su servicio principal, a partir del cual se crean aplicaciones nativas para iOS, Android, Mac y Windows en C#.

         Xamarin Test Could

         Como su nombre lo indica, es una plataforma de testeo para móvil en la nube, encuentra errores con test automáticos probándose en los dispositivos que los clientes van a usar.

         Xamarin Insights

         Facilita a los desarrolles poder realizar un seguimiento sobre la actividad de la aplicación, mostrando quien la utiliza, registrando los errores producidos, el estado del dispositivo, etc.

         Xamarin University

         Pone a disposición de los desarrolladores un sistema interactivo de enseñanza a impartido por los más expertos en Xamarin.

 

Xamarin.Forms

No se puede hablar de Xamarin sin decir nada acerca de Xamarin.Forms, ésta es una API que permite construir rápidamente aplicaciones nativas para Android, iOS y Windows en C# compartiendo el 96% del código entre plataformas.

La estructura de un proyecto en Xamarin.Forms es la de un proyecto Core que además de la lógica de negocio incluye las vistas, un proyecto para cada plataforma móvil y otro para UI Test.

Aunque la mayoría del código es compartido, van a existir situaciones en las que tendremos que implementar cierta funcionalidad, para ello dispondríamos de dos herramientas: DependencyService y Custom Renderes

-DependencyService: Es un Service Locator proporcionado por Xamarin Forms que define una interfaz en el proyecto Core y la implementa en cada plataforma.

-CustomRenders: Lo utilizaremos para aplicar un diseño que no es posible en Forms creando un Control en Core e implementando cómo se va renderizar en cada plataforma.

En definitiva, consiste en la creación de una única interfaz de usuario que sería adaptada a Android, iOS y Windows en forma nativa con sus respetivos controles genéricos, siendo necesario definir individualmente aquellos controles más específicos de su plataforma.

 

Los que conocen la herramienta, muy posiblemente estarán al tanto de los servicios que proporciona Xamarin, pero con la llegada de Xamarin 4, aparecen novedades muy interesantes.

Algunas de ellas son:

Android Material Design y Windows Universal Apps ahora son soportados Xamarin.Forms

– Xamarin Insights deja de ser beta.

– Xamarin Test Recorder, herramienta para grabar pruebas funcionales.

– Xamarin UI.Test, complemento integrado con Xamarin Test Cloud que permite testear la interfaz de usuario.

– Xamarin Inspector Preview, permite realizar modificaciones del diseño de la app en tiempo real ahorrando tiempo de compilación para cada cambio que queramos aplicar.

– Se ha mejorado notoriamente la integración con Visual Studio.

 

Gorilla Player

Esta herramienta muy poco conocida, debido a que ha salido muy recientemente, va de la mano del desarrollo con Xamarin, ya que ayudará a maquetar XAML en Xamarin.Forms. Podremos tener varios simuladores abiertos con el preview de XAML que estemos editando en Xamarin Studio. También ofrece la posibilidad de consumir datos de muestra a partir de un archivo JSON para poder ver cómo se van a mostrar en la interfaz.

Gorilla Player permite hacer todo eso sin compilar de nuevo y sincronizando en tiempo real los cambios realizados en XAML dentro de los dispositivos iOS, Android o Windows.

De momento solo está disponible para Mac y Xamarin Studio, la release de Visual Studio saldrá en forma de beta dentro de poco.

Si queréis participar en la beta privada u obtener más información, aquí tenéis el enlace a la herramienta.

 

Francisco López Sánchez

Alumno de Microsoft MCSD Web Applications + SharePoint Apps 2015-2016

Coordinador del Tech Club Tajamar