Introducción al desarrollo de apps móviles nativas con Xamarin
Exploramos a continuación algunos conceptos básicos de esta plataforma de desarrollo, así como algunos aspectos importantes a tener en cuenta al desarrollar aplicaciones móviles de la forma tradicional y las llamadas aplicaciones híbridas.
¿Qué es Xamarin?
Xamarin es una plataforma de desarrollo de aplicaciones móviles para Android, iOS y Windows Phone con C# que te permite diseñar, codificar, compilar, depurar, monitorear y probar aplicaciones con tus conocimientos previos en .Net desde Visual Studio.
Principales Componentes
- Xamarin Platform (Xamarin.Android / Xamarin.iOS)
- Test Cloud (Automatización de pruebas localmente y en la Nube)
- Xamarin Insights (Monitoreo de actividad)
El modelo tradicional: Aplicaciones “En Silo”
La forma más común a la hora desarrollar aplicaciones móbiles es mediante varios lenguajes de programación (ObjetiveC para iOS o Java para Android), lo cual para un único desarrollador supone una curva de aprendizaje para desarrollar en cada una de esas plataformas con sus correspondientes particularidades y manejar código por separado.

Aspectos a considerar:
- No hay código compartido
- Varios lenguajes & ambientes de desarrollo
- Posibles multiplicidad de equipos
- Múltiples códigos fuente
- Positivo = Grandes aplicaciones entregadas a la plataforma de usuario
- Negativo = Desarrollo obstaculizado por múltiples bases de código y la fragmentación
Aplicaciones híbridas
También existen otras alternativas para desarrollar aplicaciones móviles, como PhoneGap/Ionic, en los cuales se hace uso de componentes nativos llamados web views que combinados con HTML, CSS y JavaScript presentan la aplicación al usuario final.

Aspectos a considerar:
- Orientado a web con combinaciones a APIs nativas (plugins)
- Código compartido entre plataformas
- Rendimiento menor al nativo.
- Desarrollo extra para la “sensación nativa”.
Desarrollo con Xamarin
Con Xamarin, si bien necesitarás aprender algunas particularidades de cada plataforma móvil en específico, el código seguirá siendo en C#, por lo que resultará más familiar y fácil de aprender, lo que te permite concentrarte en aprender el concepto móvil más allá de la cantidad de código que requerirá para implementarse.

Aspectos a considerar:
- 100% acceso nativo a los componentes
- Código compartido entre plataformas
- Rendimiento nativo.
- Una única fuente de código con menos fragmentación.
- Un único ambiente de desarrollo
- Posibilidad de compartir código común entre las aplicaciones
¿Quieres aprender más? ¡Únete al grupo de la Comunidad Xamarin Costa Rica! Regístrate aquí.