Cuando se habla de desarrollo para iOS y Android, lo primero que viene a la mente son Objective-C, Swift y Java. Bien conocidos como pilas técnicas nativas, son con diferencia los más empleados. Aun así, las aplicaciones cómodas y amables pueden construirse de maneras muy distintas. Veamos Xamarin y comparémoslo con los enfoques nativo y multiplataforma.
¿Qué es Xamarin?
Xamarin es una herramienta de desarrollo móvil multiplataforma que permite compartir cerca del 90 por ciento del código entre las plataformas principales. Es relativamente joven, se apoya en la pila técnica de Microsoft y cuenta ya con una comunidad de más de 1,4 millones de desarrolladores.
La plataforma la construyeron las mismas personas que estaban detrás de Mono, una plataforma de desarrollo de código abierto basada en .NET Framework, presentada por primera vez en 2001. La empresa Xamarin se fundó el 16 de mayo de 2011.
Xamarin nació como proyecto comercial, pero en 2016 Microsoft compró la compañía. Se convirtió en un producto multiplataforma apreciado por la comunidad que gira en torno al ecosistema de Microsoft, y la barrera económica para usarlo desapareció. Cuando Microsoft abrió el código del SDK de Xamarin, este pasó a formar parte del entorno Xamarin Visual Studio.
Las principales posibilidades
Para construir aplicaciones en todas las plataformas móviles, Xamarin emplea un solo lenguaje: C#. Xamarin se compila de forma nativa, de modo que se presta bien a aplicaciones rápidas con sensación nativa.
C# es un lenguaje de varios paradigmas, con tipado estricto que preserva al código de comportamientos inesperados. Pertenece a los lenguajes .NET, así que también están a mano las lambdas, LINQ y la programación asíncrona.
Hablando en términos técnicos, Xamarin emplea C# y las bibliotecas nativas de la capa .NET para el desarrollo multiplataforma.
Esas aplicaciones pueden compararse con las nativas tanto en iOS como en Android, por rapidez y por comodidad de uso. Más aún: Xamarin da acceso a todas las interfaces nativas y más recientes para aprovechar las capacidades de la plataforma, como ARKit en iOS o el modo multiventana de Android.
Con Xamarin se puede construir una capa de interfaz propia de cada plataforma, mientras que el código de la lógica de negocio, del acceso a bases de datos y de la comunicación por red queda compartido. Por eso las aplicaciones multiplataforma hechas con Xamarin parecen del todo nativas en cualquier dispositivo y ofrecen mejor experiencia que las híbridas corrientes.
¿Cómo transcurre la compilación?
La plataforma Xamarin tiene dos productos centrales, para iOS y para Android, y la compilación difiere.
- Xamarin.iOS. El código fuente se compila directamente a código nativo ARM (compilación anticipada).
- Xamarin.Android. Las aplicaciones de Android se compilan primero a lenguaje intermedio y luego a código nativo en tiempo de ejecución.
Pese a esa distinción, en ambos casos la compilación transcurre por sí sola y atiende cuestiones como la reserva de memoria, la recogida de datos en desuso y el entendimiento con la plataforma.
Estructura de un proyecto Xamarin
La mayoría de los proyectos con Xamarin supone un ordenador con Windows donde estén instalados Visual Studio y Xamarin. La aplicación se depura directamente desde el escritorio, en dispositivos o en emuladores. También es posible desarrollar aplicaciones para iOS bajo Windows: Visual Studio se conecta al diseñador de storyboards y al simulador de iOS.
Xamarin está conquistando el mundo. En algo más de siete años de existencia ha crecido hasta 1,6 millones de desarrolladores en 120 países, y Microsoft lo compró para integrarlo en su entorno Visual Studio. Así, Xamarin se ha vuelto la técnica elegida por 15 000 empresas en campos como la energía, el transporte, los medios, la sanidad y muchos más. (c) Fuente