Desarrollo multiplataforma con Xamarin

¿Qué estrategia seguimos a la hora de llevar a cabo un desarrollo que conlleve aplicaciones para distintos clientes, tales como Android, iOS y Windows Phone? ¿Hacemos aplicaciones nativas? ¿Nos decantamos por el desarrollo híbrido con Ionic o Cordova? A la hora de comenzar un proyecto de movilidad seguramente te hayas planteado en más de una ocasión esta serie de preguntas. Como en todo, encontrarás fieles defensores del desarrollo nativo como seña de identidad de una aplicación que permite aprovechar todo el potencial que ofrece cada plataforma, pero también seguidores del lema “write once and run everywhere”.

xamagon

Si te dicen que vas a poder escribir código una sola vez y tener una plataforma que te permita un completo desarrollo multiplataforma con aplicaciones nativas para iOS, Android, Windows Phone y aplicaciones Universales de Windows, quizás te sorprenda, pero es posible gracias a Xamarin.

 

Xamarin.Forms, la clave del desarrollo multiplataforma

 

La compañía, que fue adquirida por Microsoft a primeros de este año, ha volcado gran parte de su esfuerzo en el desarrollo de Xamarin.Forms, que abstrae los controles nativos en cada una de las plataformas a un nivel conceptual superior. Esto nos permite llevar a cabo desarrollos genéricos de tal forma que la lógica sea compartida entre las diferentes plataformas, lo que nos evita tener que enfrentarnos a problemas similares en cada una de ellas.

¿Cómo es posible? Echemos un vistazo a la imagen posterior.

 

Desarrollo multiplataforma con Xamarin.Forms

 

En la parte central, denominada como “Shared C# App Logic” es donde se situará el núcleo del desarrollo multiplataforma, utilizando para ello todo el potencial que nos proporciona el framework .NET. Este código común se ejecutará en todas las plataformas.

Para el desarrollo de las interfaces podremos seguir el camino que mejor nos convenga. Si queremos que el enfoque de las diferentes aplicaciones siga un diseño similar, nos centraremos en tener un diseño más estándar que será multiplaforma gracias a Xamarin.Forms, pero si lo que queremos es tener interfaces personalizadas para cada una de las plataformas, también lo podremos hacer, solo que nos obligará a tener desarrollos separados.

Finalmente, para cada una de las plataformas podremos desarrollar funcionalidades propias e independientes si es que lo necesitamos. Eso sí en todas ellas a través de C#. Este lenguaje nos permite utilizar funcionalidades nativas que sean específicas de cada una de las plataformas, pero a través de un lenguaje común.

 

En resumen…

 

Como veis, estamos ante una plataforma de desarrollo móvil multiplataforma que cuenta con un interesante porvenir. En siguientes posts os contaremos cómo llevar a cabo la ejecución de un pequeño proyecto de este tipo utilizando esta tecnología.

 

 

 

Artículos relacionados

ASO – Posiciona tu app en el App Store o Google Play

Desarrollo de aplicaciones híbridas con Ionic

Testing de una aplicación móvil usando Sauce Labs, Jenkins y Appium

 

Deja un comentario

¿Necesitas una estimación?

Calcula ahora