Desarrollar apps con Xamarin

Desarrollar apps con Xamarin

Xamarin es una compañía establecida en 2011 por los mismos ingenieros que llevaron a cabo el Proyecto Mono, una implementación libre de la plataforma de desarrollo.NET para Android, iOS y GNU/Linux. Xamarin es una completa herramienta que está entre las alternativas para el desarrollo de apps multiplataforma. Lo más destacable de Xamarin es su gran capacidad para traducir una app en lenguaje C# a un código ejecutable en iOS, Android y Windows Phone.

Para los que empezáis en este mundo, C# es un lenguaje de programación desarrollado por Microsoft, muy popular entre los desarrolladores .NET de apps móviles.

Para desarrollar apps en iOS se utiliza el código Objective-C y para desarrollar en Android se utiliza Java. Lo que hace Xamarin es unificar estos lenguajes mediante su IDE Xamarin Studio, por lo que nos hará falta controlar C# para desarrollar apps para iOS, Android y Windows Phone pero también tener nociones de cada una de estas plataformas.

Una de sus principales ventajas es la reutilización de código. Esto es, al desarrollar una app se escribe un código nuevo, probado y testeado; si este código es el mismo para todas las plataformas para las que queremos nuestra app, no será necesario reescribirlo de nuevo sino que lo podemos reutilizar ya que está probado y no presentará errores, lo que nos garantizará un funcionamiento correcto. De no ser así, si encontramos algún error de código y lo corregimos en el código compartido, esta corrección se aplicará a todas las plataformas al compilarlo de nuevo. Esto influirá positivamente en el plazo y coste de desarrollo de la app, que se verá reducido considerablemente y en la consistencia ya que el entorno de desarrollo será el mismo para todas las plataformas, lo que nos hará más fácil la transición entre cada entorno.

 

Es importante que del código reutilizable eliminemos todo aquello que tenga que ver con el uso de interfaces nativas, ya que éste dependerá únicamente del sistema operativo destino. También cualquier integración con sistema de ficheros, frameworks específicos de cada plataforma o comprobaciones de licencia. De ahí que intentemos extraer o desacoplar la mayor cantidad de funcionalidad posible de forma independiente. Gracias a técnicas como la Inversión de Control (IoC en inglés) podremos incrementar el código compartido.

Otra de sus ventajas es que cuenta con una gran librería de terceros equiparable a la del código nativo. Además de esto, nos da acceso total a la API estándar de iOS y Android, solo que lo hace a través de C#.

En resumen, Xamarin Studio (XS) te proporciona todas las herramientas disponibles para portar tus aplicaciones a iOS, Android y Windows Phone. Como dato importante, Xamarin no es gratis, aunque sí es cierto que podemos instalarlo por un periodo de prueba de 29 días.

Por otro lado, dentro de Xamarin podemos encontrar otra variante llamada Xamarin.Forms que te proporciona un conjunto de herramientas de interfaz de usuario que te permitirá crear fácilmente interfaces de usuario que podrás compartir en Android, iOS y Windows Phone. Estas interfaces de usuario se representan utilizando los controles nativos de la plataforma de destino, lo que permite que las aplicaciones de Xamarin.Forms mantengan el look and feel adecuado para cada plataforma.

Xamarin.Forms está escrito en C# y las apps desarrolladas con él pueden utilizar cualquiera de las APIs y algunas opciones como CoreMotion, Passkit y Storekit en iOS, NFC y Google Play Services en Android o Tiles en Window Phone. Esto significa que es posible crear aplicaciones donde una parte de su interfaz de usuario esté diseñada con Xamarin.Forms y otra parte con el kit de herramientas de interfaz de usuario nativa.

La arquitectura de las aplicaciones Xamarin.Forms es la misma que las de las aplicaciones multiplataforma tradicionales. El método más frecuente es utilizar bibliotecas portátiles o proyectos compartidos para alojar el código compartido y después crear aplicaciones específicas para cada plataforma que consuman el código compartido. A continuación puedes ver cómo es el enfoque tradicional de Xamarin y cómo sería el enfoque añadiéndole Xamarin.Forms

Hay dos técnicas para crear interfaces de usuario en Xamarin.Forms. Una de ellas es crearlas completamente con el código fuente usando la API proporcionada por Xamarin.Forms y otra es usar el Extensible Application Markup Language (XAML), un lenguaje declarativo de Microsoft que se utiliza para describir las interfaces de usuario. La propia interfaz de usuario se define en un archivo XML utilizando la sintaxis XAML, mientras que el comportamiento en tiempo de ejecución se define en un archivo separado de código subyacente.

Si deseas obtener una descripción más detallada de cómo se desarrollo en Xamarin y desarrollo en Xamarin Forms puedes encontrar más información en sus páginas web.

No dudes en ponerte en contacto con nosotros si tienes alguna idea de aplicación móvil multiplataforma. Te ayudaremos en lo que necesites.

Síguenos en Facebook, Google+, Linkedin y Twitter.

Facebook Google+ Linkedin Twitter