En Fx2 venimos trabajando en desarrollo móvil sobre plataforma Microsoft (Windows Phone y Windows 8) desde hace bastante tiempo.
La demanda creciente de desarrollo móvil en plataformas IOs y Android son muy frecuentes.
Como primer alternativa nos hemos inclinado por el desarrollado HTML5 (HTML4.1+CSS3.0), también incursionamos sobre PhoneGap en algunas oportunidades.
Las aplicaciones desarrolladas en HTML5 para móviles tiene algunas desventajas, entre ellas el rendimiento, el acceso restringido a la plataforma nativa, una necesidad de conexión a Internet más demandante que las aplicaciones nativas y limitación en cuanto a la personalización de bajo nivel.
Basados en la premisa de maximizar el uso de la experiencia adquirida en plataforma Microsoft y minimizar los tiempos de desarrollo como principal precondición, evaluamos varias herramientas.
Luego de varias evaluaciones decidimos Xamarin como la herramienta que nos ayude a desarrollar para plataformas IOs y Android.
Como nuestros programadores ya tienen vasta experiencia en C# y .NET, la curva de aprendizaje no fue tan costosa, si bien fue bastante empinada.
Xamarin nos provee varias ventajas, pero principalmente destacamos 1) la ventaja programar en un lenguaje conocido, evitando aprender nuevos lenguajes innecesariamente. 2) Lo cambios de las aplicaciones para pasar a otras plataformas son moderados, se reutiliza una parte importante del código.
Técnicamente, las aplicaciones implementadas con Xamarin en C# se compilan a código nativo en cada plataforma, por lo que su rendimiento es exactamente el mismo que el de una aplicación nativa. Además ofrece acceso directo nativo a todas las APIs de cada plataforma así como a los controles de interfaz de usuario nativos (de hecho esto es lo que debes aprender con Xamarin para cada plataforma de manera diferente según quieras programar para iOS, Android o Windows Phone).
En resumen una experiencia interesante, que nos permitió llegar antes al mercado móvil en las plataformas dominantes.