Entendiendo Xamarin y Xamarin Forms

Daniela Pariona Coronado
devStories
Published in
3 min readAug 6, 2016

Xamarin esta basado en el proyecto MONO, un proyecto Open Source que provee un compilador C#, permite crear aplicaciones de escritorio. Para su primera versión, Mono era el desarrollo que se codifica en C# y la compilación se realizaba para la plataforma de destino, cuando lo adaptaron para móviles, se podía tener como destino Android, iOS o Windows phone. Xamarin fue el nombre de la empresa que adoptó, desapareciendo a Mono.

En el desarrollo multiplataforma, lo importante no es elegir la plataforma, cada uno tiene usuarios específicos, si los usuarios eligen una plataforma en específica, es porque prefieren diferentes aspectos de ellas sean visuales, gráficos o físicos.

Xamarin no es híbrido, es un framework que permite desarrollar en C#, su renderizado y compilación se realiza al lenguaje nativo de cada plataforma.

Los usuarios piden experiencias nativas, Xamarin lo que quiere es brindar experiencias nativas, que el usuario no se preocupe, un objeto puede ser visualizado en cada plataforma según su renderizado.

Xamarin es una gran inversión, porque la inversion de aprendizaje es sobre un lenguaje C#, utilizado para escritorio, web, aplicaciones móviles también esta bajo el sdk de desarrollo de windows 10, una serie de aplicaciones de servicios que se pueden seguir utilizando. ¿Cuál es la idea que hay detrás? El concepto es sencillo: utilizar C# y .NET para la compilación de aplicaciones nativas para Android o iOS. Nos permitirá generar nuestra aplicación para iOS (.APP) y para Android (.APK), la cual correrá de forma nativa. Gracias a esto, surge una de las grandes ventajas: la reutilización de código.

Xamarin vs Xamarin forms

Todo parte de codigo C#, el sdk como tal sigue siguiendo Xamarin,

Xamarin o Xamarin Nativo: Fue la primera versión, se puede utilizar C# para toda la parte de backend, toda la lógica de negocio, el acceso a datos, pero las interfaces requieren código nativo, Xamarin como IDE como herramienta adaptal, Visual Studio permite crear interfaces bajo código de cada plataforma, por ejemplo en Android se necesita crear las interfaces para Android, agregar los archivos xml correspondientes, para Windows se crea las vistas con XAML y luego se vincula al backend, se tiene que crear una interfaz por cada aplicación, en ocasiones es una buena opción cuando se quiere que las interfaces sean muy diferentes.

Xamarin forms: Es una propuesta para compartir el backend y compartir la interfaz de usuario, que es un unico codigo bajo el maquetado de XAML (lenguaje de maquetado), se crean las vistas en la cual se van a compilar en el momento de cada plataforma de destino, aprovechando esa unificación multiplataforma, se puede generar código compartido móvil y me puedo conectar con c# a otros servicios clientes.

Xamarin tienes dos formas para desarrollar los IDEs, tiene un entorno de desarrollo llamado Xamarin Studio, tambien esta vinculado a Visual Studio que se puede instalar como un tools que te permite crear aplicaciones.

Arquitectura de Xamarin

Enlaces recomendados:

--

--