Actualidad, Android, Informática, Linux, Software, Tecnología

¿Qué es Xamarin y cómo funciona?

¿Has escuchado sobre las apps generadas o de un tal Xamarin? Este revolucionario IDE que quiere reemplazar a las apps híbridas y web,  representa el futuro del desarrollo móvil con esta nueva tecnología. Esto y mucho más te compartimos a continuación.

xamarin_logo

Xamarin El Futuro Del Desarrollo Móvil

Quizá el título anterior  ha sido un poco exagerado, sin embargo esto es lo que Microsoft nos invita a reflexionar  cuando nos dice que estamos en un mundo donde la necesidad del tiempo cada es vez es más escasa, y  tener que desarrollar una app móvil para cada plataforma móvil en 1 mes se vuelve un tanto complicado.

Durante los últimos 5 años  vimos? como armaron huelgas metafóricas en contra de las app híbridas  a la vez que los que desarrollan apps híbridas ven con desprecio a los desarrolladores que aprendieron a programar en Java, Swift y C#.

Al final de cuentas como bien te comentábamos en el artículo  sobre las apps nativas versus híbridas, dependiendo del tipo de trabajo y el retorno de inversión que quieras, es así como te recomendamos tomar la opción de las nativas, híbridas, o generadas en el caso de Xamarin.

xamarin-featured-image1
Xamarin para todas las plataformas

Brevemente te cuento que Xamarin es un entorno de desarrollo para crear aplicaciones nativas en cada plataforma móvil. Estamos hablando de iOS, Android y Windows Mobile. Microsoft incentiva a desarrollar en Xamarin ya que una de sus novedades es que puedes crear apps para cada plataforma, escribiendo código C# y nada más.

Pero vaya que no todo es color de rosas, aunque en teoría solamente necesitabas saber C#, será necesario conocer al menos lo básico de cada lenguaje nativo, ¿Entonces de todos modos tengo que escribir código específico para cada plataforma? Sí, ¿Entonces da lo mismo? No. Ahora te explico la razón…

run_everywhere

Xamarin trata de optimizar el código en su máxima expresión, entonces de una manera práctica, funciona más o menos así:

Tu escribes código C# en cosas tan básicas como hacer instancias a los widgets de las vistas y los inicializas. Esto se llama código compartido y hasta el momento todo muy genial, ya que no has tenido la necesidad de escribir la misma tarea en cada uno de los lenguajes de programación.

Ahora, ¿Qué pasa si necesitas hacer manejo de la cámara? Aquí es cuando entran tus habilidades básicas con cada uno de los lenguajes de cada plataforma móvil.

¿Por qué sucede eso?

Como buen desarrollador móvil que eres, sabrás que levantar el servicio de la cámara en Android, iOS, y Windows Mobile a nivel de backend funciona totalmente distinto en cada sistema operativo. Así que escribirás código específico para cada plataforma.

No Es Tan Intuitivo Como Lo Venden

A Muchas personas les parece que este IDE es una auténtica tontería. Supongamos que desarrollas nativo o híbrido, no sabes C#, aprendes C# y luego te das cuenta que para manejar los sensores debes escribir código para cada plataforma. ¿Dónde está tu optimización?

A priori pareciera que eso sucede, sin embargo tuve la oportunidad de asistir al Xamarin Dev Day 2016 en la Ciudad de Guatemala y  fue ahí cuando aclare todas esas dudas.

El objetivo principal de Xamarin es que ahorres tiempo en vez de estar escribiendo todo el código desde el inicio en cada plataforma. y que ahorres en hacer pruebas específicas para cada instalador, para lo cual Xamarin te trae una herramienta para hacer testing a cada instalador de cada uno de los sistemas operativos.

xamarin_test_cloud
Xamarin Test Cloud Service

 

Entonces… Al Final ¿Son Nativas?

¡Correcto! Son 100% nativas. Sin embargo hay personas que aseguran que el rendimiento de las apps generadas de Xamarin muestran cierto retraso en los procesos de carga, pero que no se nota demasiado.

Algo que definitivamente no juega a su favor es el tema del peso al exportar los instaladores para los sistemas operativos. Llegan a pesar un 30% más que las apps que se generan con el IDE y código oficial de cada plataforma.

En resumidas cuentas este interesante IDE toma el código C# y lo compila como código nativo para cada plataforma, pero aún cuenta con ciertos inconvenientes, que  seguramente serán solventadas en el futuro.

platform-screenshot-wzrefwc4

Comunidad Xamarin

Xamarin es en comparación con comunidades ya formadas por Google y Apple,relativamente pequeña. Digo relativamente porque ya son miles de usuarios los que desarrollan apps móviles en este IDE.

Tener poca comunidad para muchos desarrolladores será un inconveniente por el soporte, ejemplos, soluciones, etc. Al igual que los inconvenientes, la comunidad seguramente irá creciendo y mejorando, eso seguro.

Xamarin El Sabelotodo Del Desarrollo Móvil

Personalmente no recomiendo desarrollar productos para futuros clientes en Xamarin, pero sí opino que es bueno probar las nuevas tecnologías que se vienen al menos para hacer un “Hola Mundo”.

Por hoy la mejor manera de entregar apps móviles de primer nivel es siguiendo los estándares de cada sistema operativo. Si quieres hacer una app para Android, te diré:

– ¡Usa Android Studio!

– Oye ¿y yo que desarrollo para iPhone?

– ¡sigue usando Xcode!

– Fernando, yo programo para Windows Mobile.

– Vete con tu Visual Studio

Comenta, si darías el salto ahora mismo o en algún momento a Xamarin.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s