¿Aplicaciones nativas? ¿Diseño web HTML5? ¿Optar por un desarrollo híbrido? Los desarrolladores de aplicaciones móviles se suelen enfrentar al problema de qué camino elegir a la hora de montar su aplicación. Algunos defienden el desarrollo nativo para aprovechar la funcionalidad particular que cada plataforma ofrece, de manera que saque partido de todas las posibilidades de cada una de ellas. Sin embargo, esto requiere mucho esfuerzo, sobre todo cuando se quiere llegar al mayor número de usuarios.
Así que, desde el punto de vista más pragmático, se apuesta por un desarrollo web o híbrido, puesto que así se optimizaban recursos que, de otra manera, se tendrían que dedicar en exclusiva a iOS o Android (e, incluso Windows Mobile). Es la visión de "escribir una vez, ejecutar en cualquier lugar".
El paraíso de los desarrolladores podría ser, pues, una plataforma que realmente permitiera un desarrollo multiplataforma. Y ésa es la promesa de Xamarin, un conjunto de herramientas de desarrollo multiplataforma que cubre todas las diferentes opciones desde un único código como base. Los desarrolladores pueden, de esta forma, crear aplicaciones completamente nativas con un solo código. "Creamos Xamarin porque sabíamos que tenía que haber una mejor manera de construir aplicaciones móviles. Somos desarrolladores, así que sabemos lo que quieren los desarrolladores: un lenguaje moderno de programación, herramientas de gran alcance, un flujo de trabajo eficiente y agradable y el poder de crear las mejores experiencias de usuario. Nuestra misión es que desarrollar grandes aplicaciones móviles sea algo rápido, fácil y divertido", reza su página web.
Los orígenes de Xamarin
Con más de 250 empleados repartidos en cinco oficinas y 14 países del mundo, Xamarin tiene más de 15.000 clientes en 120 países del mundo, según sus propios datos. La compañía fue fundada en 2011 por Nat Friedman y Miguel de Icaza. Como explica el segundo de ellos en su propio blog, el reto era construir una nueva oferta comercial de .NET para iOS y Android, seguir contribuyendo, mantener y desarrollar los componentes de código abierto Mono y Moonlight y explorar las oportunidades Moonlight en el espacio móvil y la appstore para Mac.
Y es aquí cuando hay que echar la vista atrás para empezar a entender parte de esta historia. Mono es una implementación de código abierto de .NET Framework (de Microsoft) basado en los estándares ECMA para C# y el Common Language Runtime. Aunque actualmente Mono está, sobre todo, apoyada por Xamarin, desde que se anunció en 2001 ha pasado por muchas y diferentes etapas. Mono fue impulsado por Miguel de Icaza y en 2004 lanzada por Novell (en aquel entonces uno de los mayores rivales comerciales de Microsoft) después de que Novell comprara un año antes Ximian. Ximian estaba fundada por los mismos creadores de Xamarin.
Sin embargo, el 22 de noviembre de 2010, Novell era vendida a Attachmate Group, lo que acabó siendo la sentencia de muerte para Ximian y los primeros cimientos sobre los que se asentaría la actual Xamarin.
La adquisición de Novell dejaba una serie de grandes proyectos de software de código abierto en el limbo. Attachmate se comprometía a seguir apoyando la distribución SUSE Linux, pero otros productos de código abierto de Novell iban a correr peor suerte y su desarrollo se iba a dejar a un lado y, por tanto, se despediría a gente. El proyecto Mono, que desarrollaba una implementación de código abierto de .NET y C# de Microsoft, recibía un duro golpe cuando Attachmate despedía al equipo de desarrollo. Miguel de Icaza respondió montando un plan para asegurar que Mono siguiera avanzando sin Novell. Y es así como nació Xamarin.
"Después de los despidos de Novell, una opción para todo el mundo hubiera sido ir a casa y tratar de encontrar un trabajo diferente. Pero nos encanta este proyecto, y nos encanta lo que estamos haciendo", declaraba en su momento De Icaza. Tras obtener los derechos de Mono y hacerse con la base de clientes del código, Xamarin terminó siendo autosuficiente y sostenible, con unos ingresos que cubría su plantilla inicial, de unas 50 personas.
¿De dónde viene el nombre de la compañía? José Miguel Torres, ingeniero de software en Xamarin, explica a Xataka que todo está relacionado con el proyecto Mono. "La primera empresa se llamaba Ximian (en relación a Simio en inglés y substitución de la S por X) y, por lo tanto, Xamarin se denomina en relación a Tamarin (Tamarino en español) y también se substituyo la T por la X dando lugar a Xamarin. Por tanto, el proyecto "madre" se llama Mono, empresas de dicho proyecto Ximian (ya desaparecida) y ahora Xamarin, son "Primates" parientes del Mono (o tipos de mono, ando muy verde en biología ;-) )".
Fuente: https://farm4.staticflickr.com/3922/1466834014409ee1141dao.jpg
Un negocio en explosión
En los últimos 12 meses, según datos de Forbes, la comunidad de desarrolladores de Xamarin ha crecido un 98 por ciento y las ventas se han más que duplicado. La diferenciación de Xamarin se debe a su capacidad para construir aplicaciones nativas e híbridas para iOS, Android, Mac y Windows utilizando un único código basado en C#. Es decir, que gracias a esta solución, las empresas pueden seguir utilizando a los desarrolladores de toda la vida para construir aplicaciones móviles sin tener que invertir en formación extra para sus empleados en nuevos lenguajes de programación más propios del entorno móvil. Además del desarrollo, Xamarin también ofrece otras prestaciones básicas para las aplicaciones móviles, como pruebas en más de 100 modelos de terminales, ciclo de vida, etc.
Mientras, desde el punto de vista de los desarrolladores, Xamarin promete reducir drásticamente el tiempo necesario para asegurarse de que sus aplicaciones funcionan en iOS, Android, Windows, Windows Phone y Mac al combinar las bondades del desarrollo nativo y del mantra "escribir una vez, ejecutar en todas las plataformas".
La relación de amor odio con Microsoft
Tanto Miguel de Icaza como Nat Friedman son viejos conocidos de la comunidad open source. De hecho, son los creadores del proyecto GNOME, impulsado como alternativa a Windows y lo que les catapultó a la fama de la comunidad de código abierto. Curiosamente, ambos se conocieron en la empresa que, por aquel entonces, más enfrentada estaba con ese movimiento: Microsoft. Friedman estaba trabajando allí y De Icaza fue a una entrevista de trabajo para el equipo de Internet Explorer.
Podríamos decir que la relación entre De Icaza y Microsoft es un "ni contigo ni sin ti". La corporación ha invitado muchas veces al desarrollador a intervenir en sus eventos e, incluso, participa en la red de desarrolladores de Microsoft.
Para algunos, parte del éxito de Xamarin es la comunidad de desarrolladores de C# que posee y que han confiado en esta plataforma para adaptarse al nuevo escenario móvil. Aunque Microsoft no sea uno de sus inversores, muchos consideran que no se podría entender los 82 millones de dólares que han recibido en 3 rondas de financiación por parte de 5 empresas si no fuera por esta "relación" con Microsoft.
Otro dato que relaciona a esta compañía con Microsoft es en el hecho de que, cuando arrancaron el proyecto, en 2011, apostaron por C#, el lenguaje de programación de Microsoft. "Nunca nos imaginamos que estaríamos aquí hoy. Todo el mundo nos decía 'nadie quiere aplicaciones C# nativas, es una locura'", asegura Friedman.
E incluso Xamarin tiene precios especiales para la comunidad de desarrolladores MSDN. La relación entre ambos es clave y estable. El propio Friedman explicaba este acuerdo en el blog de la compañía a finales de 2014. Tal y como nos reconoce José Miguel Torres, "desde que está Nadella al frente de Microsoft -y su nueva postura estratégica- la relación (entre Xamarin y Microsoft) cambió".
"No trabajo para Microsoft"
Microsoft, que ha tenido ciertos problemas para adaptarse al ecosistema móvil, ha encontrado en Xamarin a un gran aliado. Las promesas de tener una plataforma de desarrollo universal, que les permitiera escribir una vez y ejecutar en cualquier entorno, han sido numerosas. La última y más reciente, Universal Windows Platform, que, sin embargo parece no haber convencido a la comunidad de desarrolladores, entre otras cosas porque solo afectaba a Windows como sistema operativo. El problema al que los desarrolladores de Visual Studio se enfrentan es que quieren seguir codificando en lenguajes .NET como C #, y utilizar XAML para construir una interfaz de usuario, pero sus clientes demandan soporte para plataformas que no sean Windows, especialmente iOS, Android y Mac. Y las herramientas de Xamarin se acercan más a lo que los desarrolladores están exigiendo.
Sin embargo, no está exenta de problemas. Se trata de una aplicación de .NET de terceros, basado en Mono (de código abierto) y, por lo tanto, no está al cien por cien alineado con .NET Framework de Microsoft. Algunos, además, también se quejan del precio (999 dólares por cada desarrollador y plataforma por una suscripción de un año en la versión empresas).
Lo que está claro es que el lenguaje C# ha sido un gran éxito para Microsoft y es una de sus clave para atraer o mantener a los desarrolladores en su plataforma. Pero el mundo parece que se decanta más por los nuevos dispositivos móviles que por los tradicionales PC de sobremesa (según un informe de Deloitte, las ventas de smartphones superarán tanto en unidades como en ingresos a las del conjunto de los sectores del PC, los televisores, las tabletas y las videoconsolas), por lo que para los expertos C# no debe limitarse a Windows y debe intentar replicar su éxito en el mundo multiplataforma.
Por eso, en más de una ocasión se ha rumoreado con la posibilidad de que Microsoft acabara sacando la chequera para hacerse con Xamarin. Pese a que la relación entre ellos no la niegan ni sus protagonistas, una cosa es ser socios y otra es que haya algo más. Como dejó bien claro hace año y medio el propio De Icaza, "no trabajo para Microsoft".
Es más, "tanto nuestro CEO (Nat Friedman) como el CTO (Miguel de Icaza) han dejado bien claro que Xamarin pretende ser una compañía líder e independiente dedicada al desarrollo multiplataforma", incide José Miguel Torres.
Completando el círculo con Java
En el sector hay una especie de serpiente de verano sobre el deseo de que, como el hijo pródigo, Miguel de Izaca acabe volviendo a Microsoft. Pero, más que por ser comprada, Xamarin es noticia por ser ella la que compra.
En octubre se hacía pública la compra de RoboVM por parte de Xamarin. La cantidad de la operación no ha trascendido, pero RoboVM aporta a Xamarin el mercado del desarrollo Java; es decir, entre 5 y 7 millones más de programadores, según cálculos de IDC. Por tanto, ambas empresas sumarían unos 13 millones de desarrolladores con una misma visión: facilitar el desarrollo de aplicaciones empresariales en cualquier plataforma.
Además, la joven compañía ha firmado importantes acuerdos con otras multinacionales. Por ejemplo, Oracle, quien nombraba a Xamarin como su partner para el negocio cloud, algo que implica que Xamarin habilita una nueva herramienta que permite a los programadores alojar sus aplicaciones en Oracle Mobile Cloud, una nube que compite con Amazon Web Services, Bluemix de IBM y Microsoft Azure. A cambio, Oracle destina parte de su marketing para llevar este kit de desarrollo de software de Xamarin a un nuevo segmento de desarrolladores.
Simplicidad, la clave del éxito
Parte de la clave del éxito de Xamarin puede estar en que, de manera simple pero efectiva, soluciona algunos de los problemas de los desarrolladores, especialmente aquellos habituados a trabajar con C# y que ahora se enfrentan al ecosistema móvil, más fragmentado que el mundo PC. Además, los desarrolladores no tienen que preocuparse por si la apariencia de las aplicaciones estará optimizada en cada sistema operativo móvil, lo que incluye también a los wearables, y no solo teléfonos.
Y, por si fuera poco, Xamarin cubre todo el ciclo de una app móvil: desarrollo, testeo y puesta en producción con Xamarin Platform, Test Cloud e Insights.
Pero Xamarin no está sola ni es la única opción que tienen los desarrolladores. Otras propuestas del mercado son Appcelerator y Phonegap. Todas tienen sus puntos a favor y sus puntos en contra, algunos de ellos resumidos en comparativas especializadas. Así, por ejemplo, aunque Xamarin cubre los sistemas operativos mayoritarios, parece no contempla el espectro Blackberry, algo que sí aportan las otras dos plataformas de desarrollo.
Xamarin, por tanto, parece haber seducido, sobre todo, a las grandes empresas necesitadas de tener aplicaciones móviles multiplataforma y a aquellos desarrolladores habituados a trabajar con .Net y C#, pero hay quien opina que el desarrollo multiplataforma no es la panacea y que el ahorro que supone apenas llegará al 20 por ciento, ya que siempre habrá que hacer un trabajo específico para cada sistema operativo si se quiere una aplicación pulida y optimizada.
Ver todos los comentarios en https://www.xataka.com
VER 39 Comentarios