Accede a todo EDteam con un único pago¡Sube a premium!

Xamarin, el desarrollo multiplataforma.

Si eres desarrollador probablemente en estos últimos años encontraras muchas notas, artículos, videos sobre una tecnología que la venden como milagrosa: Xamarin. Hoy en día sabemos que existen 2 opciones muy grandes en el mercado, iOS y Android. Le podemos sumar Windows, entonces para entender bien decimos: si hoy quiero que una aplicación este funcional en la mayoría de los sistemas operativos necesito contemplar: iOS, Android y Windows.

Diseño web
3 minutos
Hace 6 años
Xamarin, el desarrollo multiplataforma.

Si eres desarrollador probablemente en estos últimos años encontraras muchas notas, artículos, videos sobre una tecnología que la venden como milagrosa: Xamarin.

Hoy en día sabemos que existen 2 opciones muy grandes en el mercado, iOS y Android. Le podemos sumar Windows, entonces para entender bien decimos: si hoy quiero que una aplicación este funcional en la mayoría de los sistemas operativos necesito contemplar: iOS, Android y Windows.

Esto en principio parece algo complicado ya que tanto iOS, Android y Windows tienen sus propios lenguajes de programación nativa, Swift-Objective C para iOS, Java, c++ y Kotlin para Android y C# para Windows. 

Claro que es posible encontrar desarrolladores que manejen esos lenguajes, de hecho en mi caso conozco 6 lenguajes, no solo he jugado con ellos un rato sino que he desarrollado aplicaciones completas en cada uno de ellos. En el que menos experiencia tengo por ejemplo es en Kotlin que son 3 años, contando que kotlin tiene 5.

La verdad también es que no es fácil encontrar un desarrollador con un gran nivel de conocimiento de las 3 plataformas, en muchas casos hasta 2 es muy muy complicado; muchos de los desarrolladores que conozco se decantan por una plataforma ya que esto les permite ser especialistas en un area y por supuesto tener algunos beneficios, como cobrar más.

El detalle importante aquí es que los lenguajes no te enseñan a hacer aplicaciones. Son una herramienta y así funciona esto.

Entonces aparece un frase: "Desarrolla una vez y tienes una app para todos los S.O." Mucha gente recurre a Xamarin por este motivo. Las empresas recurren en su mayoría por el ahorro de tiempo y dinero, si con una plataforma puedo desarrollar para 3 entonces es mejor, ¿obvio no?. Ahora no tendremos que pagar 3 desarrolladores y no pagaremos 3 sueldos, ¿Obvio no?.

Esto no es del todo cierto ya que muchas personas no saben concretamente ni como funciona Xamarin y dan por hecho que literalmente hace magia.

Xamarin Classic y Xamarin Form

Xamarin a manera general que tiene 2 caras:

Xamarin Classic 

Es algo como el Xamarin original, el que se lanzó en sus inicios. La comunidad en foros, post y publicaciones lo llaman Xamarin Classic. Este Xamarin trabaja de la siguiente forma: Desarrollas una interfaz para iOS, otra para Android y Otra para Windows. La parte lógica es la misma, pero las interfaces si son personalizadas para cada uno de los sistemas operativos. Aquí no existe el gran ahorro como en un principio todo mundo comenta. 

Xamarin Forms

Ahora viene otra cara, estamos trabajando con una forma que nos permite ahorrar en lineas código trabajar lo mas parecido al multiplataforma. En otras palabras aquí si se comparte la lógica y la interfaz gráfica. 

Algo que debemos mencionar es que si colocas un elemento no siempre se vera de misma forma y tamaño en todas las interfaces, es común colocar un elemento en tal posición y que en cada una de las interfaces se vea en diferente posición, de hecho es demasiado común.

Dudas al usar Xamarin

Muchos de los detalles que se tienen que considerar en Xamarin para optar por una de las opciones que hemos mencionado depende del tipo de aplicación que vamos a usar.

Normalmente se usan lo que conocemos como classic cuando trabajamos con muchas APIS o con APIS muy especificas del sistema operativo, sobre todo si la interfaz de la aplicación es compleja entonces optamos por esta forma.

Se opta por Xamarin Forms normalmente si la aplicación va a ser sencilla a nivel de interfaz y a nivel de lógica.

Como notamos entonces esto no es magia y de hecho tiene bastante sentido lo que hablamos de dividir y seleccionar como abordar el tema dependiendo de la aplicación, así que xamarin no es una solución mágica y de hecho es solo una opción más dentro del desarrollo móvil.

Comentarios de los usuarios

Pregunta a ChatEDT