Qué es Xamarin y por qué es una apuesta segura para el desarrollo de aplicaciones móviles
Xamarin es una empresa americana, adquirida por Microsoft, cuyo principal producto es un software de open source (código abierto) del mismo nombre. Veamos sus características y ventajas.
ÍNDICE
Ventajas de Xamarin.
Características de la plataforma.
Mono, el principal proyecto de Xamarin.
Ventajas de Xamarin
La empresa Xamarin fue fundada en el año 2011 por Miguel de Icaza y Nat Friedman, en la zona de San Francisco. Su principal función es el desarrollo de aplicaciones móviles en los tres sistemas operativos principales: Windows, Android e iOS.
Antes de lanzar su empresa, ambos emprendedores ya habían hecho cosas juntos. Su primer producto de código abierto fue Mono, que lanzaron en 2001. Este proyecto sería muy importante para el desarrollo de Xamarin, como veremos más adelante.
Una de las ideas en torno a la que se desarrolló la plataforma era que pudiera ser compartida y reescrita fácilmente. Y así fue, actualmente, el 90 % de Xamarin puede ser compartido entre los desarrolladores de diferentes plataformas. En torno a este eje, deriva el resto de sus ventajas, que podemos resumir de la siguiente manera:
Crear aplicaciones nativas cross platform
A diferencia de otras tecnologías que permiten crear aplicaciones cross platform, Xamarin acaba generando aplicaciones 100 % con una apariencia nativa. Es más, muchos profesionales la consideran la mejor plataforma para desarrollar apps nativas para los smartphones o dispositivos móviles, sobre todo por sus controles y la interfaz.
Un solo código para programar todas las plataformas
Olvidemos de tener un equipo por plataforma con esta herramienta. Aunque se vayan a usar en diferentes sistemas operativos, Xamarin permite programar en un único lenguaje. De esta manera, podemos reutilizar el código existente de la aplicación para otra plataforma. Todo ello sin renunciar a la apariencia nativa propia de cada una, ni a bajar su rendimiento.
Acceso a las APIS nativas de cada plataforma
Podemos usar la misma API para crear apps para los principales sistemas operativos que hay en el mercado Windows, Android e iOS. Además, como hemos indicado antes, este sistema nos deja compartir y reutilizar los códigos.
Compatibilidad con los todos los periféricos de cada plataforma
Uno de los efectos de ser compatible con todos los SS.OO. principales, es que también lo es con sus periféricos. De hecho, el proceso de integración con ellos es bastante sencillo. Basta con hacer SDK de cada sistema móvil. Por ejemplo, Xamarin.Android funciona perfectamente con los dispositivos de mayor éxito de Google: Android Wear, Fire, Google Glass, etc. Lo mismo ocurre con los de Apple y los de Microsoft.
El desarrollo se realiza con los lenguajes de programacion XAML y C#
Para utilizar Xamarin solo necesitamos tener conocimiento de un desarrollador .net. Con esta formación podrás crear o modificar las aplicaciones utilizando la plataforma de open source. Esto significa que es una herramienta que está al servicio de un gran abanico de desarrolladores.
Por otra parte, cuando creas una app con Xamarin, realmente no haces una aplicación modelo mobile adaptativa. Esto sí sucede con otras soluciones cross platform. Lo que hace único a esta herramienta es que el desarrollo se centra tanto en soluciones móviles como de escritorio. Esto es otra muestra de su versatilidad. La aplicación se puede integrar en varios entornos y en todos los sistemas.
Características de la plataforma
Lenguaje único
Xmarin utiliza solo C# para programar en todos los sistemas operativos. Como hemos indicado antes, se pueden crear apps con aspecto nativo y el mismo rendimiento.
Se basa en el framework.NET,
lo que le otorga un montón de características útiles per se. Además, al ser tan popular el lenguaje de programación, no hay casi riesgo de imprevistos de cambios en el código.
Compilación automatizada
Tanto las aplicaciones que se desarrollan para Android como las de iOS tienen compilación automatizada. Además, están adaptados para solucionar ciertos problemas comunes, como es la asignación de la memoria. En el caso de iOS, tiene compitlación ahead-of-time (código ARM nativo). Para las Xamarin.Android, primero se compilan en el lenguaje intermedio, para luego acabar utilizando AOT.
Tiene un producto independiente
Xamarin.Forms fue diseñado para crear apps móviles sencillas o prototipos en los que se comparte el 100 % del código para Android e iOS. Es como una herramienta de prueba antes de lanzar el producto final.
Capacidad de adaptación
Uno de los aspectos más importantes a nivel usuario es la interfaz de su móvil, es decir, la interfaz de usuario. Para los clientes, un aspecto que les sea familiar les genera confianza. Xamarin es capaz de adaptarse al diseño de cada sistema operativo de forma impecable.
Mono, el principal proyecto de Xamarin
A muchos les puede chocar que una empresa como Microsoft, con un software de pago muy conocido, apueste por el software libre. Y es que Xamarin se convirtió, en poco tiempo, en el objeto de deseo de la multinacional.
Microsoft anunció su .net framewok a mediados del año 2000. Por aquel entonces, uno de los fundadores de Xamarin, Miguel de Icaza, que estaba empleado en la empresa Ximian, comenzó a trabajar en una nueva versión de inux. Fruto de esos estudios fue el proyecto Mono, que se lanzó un año después. En 2003, Ximian fue comprada por la multinacional Novell.
Sin embargo, en 2011, Attachmate compró Novell y despidió a cientos de sus trabajadores, entre los que estaban los creadores de Mono. El futuro del proyecto estaba en entredicho. Un par de meses después, Miguel de Icaza anunció públicamente que Mono estaría soportado y dependería de Xamarin. Una empresa por entonces desconocida con ambiciosas ideas de productos móviles.
En esos momentos, Novell anunció que daría una licencia para siempre a Xamarin para que pudiera desarrollar Mono, MonoTouch y Mono para Android. De esta manera, la nueva empresa se quedaría como gestora oficial de este proyecto.
En definitiva, a la hora de desarrollar aplicaciones móviles para las principales plataformas (iOS y Android), se vienen a la cabeza los lenguajes de programación más populares. Java, Swift y Objective-C son lor preferidos. Xamarin es una herramienta más desconocida pero que está pisando fuerte en el mundo de la programación. Es de código abierto y su principal valía es su sencillez y su capacidad para compartir código entre varias plataformas.