domingo, 16 de agosto de 2015

Desarrollo aplicaciones móviles Multiplataforma



Hay dos posturas cuando se trata del desarrollo de aplicaciones para dispositivos móviles (iPhone, Android, Windows Phone, BlackBerry, etc.). La primera es desarrollador aplicaciones nativas para cada plataforma, de esta forma aprovechando todas las capacidades y funcionalidades que ofrece cada plataforma, aquellos que defienden esta idea sugieren que de esta manera tienen la habilidad de crear, por ejemplo, una aplicación iOS que luce y se siente como una aplicación iOS debería ser, y usas todas las API nativas que ofrece el sistema iOS.

Por otra parte existe una segunda corriente más pragmática que sugiere que construir aplicaciones individuales para iOS, Android, Windows Phone e incluso BlackBerry (quizás :)) es una forma altamente costosa e ineficiente de crear aplicaciones, y que cualquier perdida de funcionalidad creada al utilizar herramientas de desarrollo multiplataforma (cross-platform), es solventada y pagada con el aumento de eficiencia al desarrollar la aplicación una vez y ejecutar en muchas plataformas.

Es por esto que la solución parece ser una plataforma que ofrezca un verdadero desarrollo multiplaforma, pero que permita a los desarrolladores tomar ventaja de funcionalidades específicas de la plataforma cuando sea necesario. Es ahí donde aparece Xamarin, posiblemente una de las plataforma de desarrollo multiplataforma más conocidas. Xamarin es un conjunto de herramientas de desarrollo multiplataforma que cubre todos los sistemas operativos desde un único código. Desarrolladores pueden crear aplicaciones totalmente nativas mientras crean solo un conjunto de código fuente. Xamarin ha tenido muy buena recepción a nivel mundial, en un periodo muy corto de tiempo ya tiene más de 1.000.000 desarrolladores y es usado por 100 empresas del grupo "Fortune 500 companies". 

Xamarin ha publicado nuevas versiones de sus productos, con cada vez más funcionalidades y mejoras para desarrolladores multiplataforma. Algunos de sus principales productos son:

  • Diseñador para iOS: Xamarin designer for iOS es una alternativa a Xcode de Apple, permitiendo a desarrolladores en una única interfaz de desarrollo (IDE) crear toda la aplicación. El diseñador permite crear y modificar iOS storyboards e incluye soporte para auto-layout.
  • Xamarin.Forms: Xamarin.Forms es un API que permite a los desarrolladores crear interfaces (pantallas) compartidas para iOS, Android y Windows Phone.
  • Nuget: Xamarin 3 tiene soporte completo para el uso de Nugets, un sistema de administración de paquetes y dependencias para ambientes .NET, que permite el uso de librerías de terceros de formas más fácil.
  • Proyectos Compartidos. Visual Studio 2013 introdujo el concepto de proyectos compartidos, como una forma de compartir código para aplicaciones multiplataforma, y desarrolladores Xamarin pueden usar estos proyectos para compartir código en sus proyectos IOS, Android y Windows, tanto en Xamarin studio o Visual Studio.
  • PCL: Bibliotecas de clases compartidas (PCL por sus siglas en inglés) ofrece un mecanismo para construir bibliotecas que son consumidas en un rango de .NET Runtimes, incluyendo Xamarin.iOS y Xamarin.Android, Windows Phone, Windows Desktop, Silverlight y Xbox
  • Soporte F# - Xamarin Studio viene con soporte nativo para construir aplicaciones IOS y Android usando el lenguaje funcional F#

Es difícil no estar emocionado por una plataforma que ofrece a los desarrolladores lo mejor de ambos mundos - la capacidad de codificar una vez, y que puede funcionar en cualquier plataforma de forma nativa. Desarrolladores inteligentes utilizarán un conjunto de herramientas como Xamarin para cortar la mayor parte del proceso de desarrollo y luego construir los aspectos de aplicación específicos de cada plataforma. Después de todo, una gran proporción de código escrito para cualquier aplicación es genérica en todas las plataformas, las funcionalidades específicas de la plataforma es una franja delgada encima de eso y por lo tanto, tiene sentido poder combinar las partes que pueden ser genéricas en todas las plataformas.

Por supuesto Xamarin no es la única opción multiplataforma que hay. Como era de esperar dado el auge de las aplicaciones móviles, hay una serie de otros conjuntos de herramientas que los desarrolladores pueden escoger - Apache Cordova, Appcelerator y Sencha son tres ejemplos. Sin embargo, dada la magnitud de la oportunidad de desarrollo de aplicaciones móviles hay un montón de oportunidades para un número de jugadores. Las últimas versiones de Xamarin ayudan a justificar que ocupe uno de esos lugares.

Este artículo apareció originalmente en Forbes.com, y ha sido adaptado y modificado.




No hay comentarios:

Publicar un comentario