Instalando Xamarin en Visual Studio

Buenas!

Continuando con la introducción ya vista, en este post veremos cómo configurar nuestro entorno de trabajo con Xamarin.

Como ya hemos comentado, Xamarin nos permite crear aplicaciones nativas para cada una de las plataformas a las cuales podríamos llamar líderes del mercado: Android, iOS y Windows (a través de Windows Phone y  Universal Windows Platform, UWP de aquí en adelante). El planteo para realizar esto a nivel componentes a instalar está compuesto de dos partes:

  • Xamarin en si mismo, a través de Visual Studio o Xamarin Studio
  • El SDK de cada plataforma sobre la cual queramos trabajar

En este post nos vamos a enfocar a trabajar desde un entorno de desarrollo en Windows a través de Visual Studio. Esto implica que dejaremos por fuera tanto a Xamarin Studio como a iOS como plataforma target de nuestras aplicaciones, al menos por ahora. Esto se debe a que para ambos casos necesitamos contar con un dispositivo Mac.

Lo primero para destacar es que Xamarin es gratuito desde principios de este año, lo cual implica que lo podemos descargar sin ninguna complicación, y a partir de allí realizar las pruebas que queramos. Esto sin duda es un punto importante que mantiene la línea de Microsoft en estos últimos tiempos, en la cual se deja de lado en varios aspectos el antiguo esquema de licenciamiento constante.

La instalación es Xamarin en sí es muy sencilla y la podremos realizar a través de dos alternativas, las cuales son muy similares:

Leer más »

Anuncios

Xamarin, desarrollo mobile multiplataforma en C#

Buenas!

Hace un tiempo he comenzado el desafío de desarrollar aplicaciones móviles usando Xamarin. Para los que no lo conocen, Xamarin es una plataforma que nos permite desarrollar en C# aplicaciones para Android, iOS, Windows Phone y aplicaciones universales de Windows, siendo las mismas nativas para cada una de estas plataformas.

A diferencia de otras alternativas, la clave que nos ofrece Xamarin es el poder generar aplicaciones nativas para cada una de las plataformas móviles mencionadas anteriormente. Pero a su vez nos permite diseñar y realizar parte de nuestros desarrollos genéricos, permitiendo que la lógica Core de nuestra aplicación pueda ser compartida entre las distintas plataformas, en vez de tener que desarrollar y resolver las mismas problemáticas en diferentes lenguajes.

¿Y esto cómo lo logra? La siguiente imagen es una explicación simple y clara del planteamiento que propone:

mobile application development platform

Veamos en detalle cada uno de los puntos que se plantean:

Leer más »

Shared Project: un tipo de proyecto para compartir código y recursos

Con la aparición de Visual Studio 2015 Preview hace ya un tiempo que tenemos disponible un nuevo tipo de proyecto, el cual puede sernos muy útil: Shared Project.

Como su nombre nos insinúa, los Shared Projects tienen como objetivo el compartir contenido entre otros proyectos y aplicaciones. Si nos ponemos a pensar, esto es algo que normalmente podríamos hacer con una biblioteca de clases, la cual tiene la lógica que querramos tanto encapsular como compartir entre otros proyectos. Y esta biblioteca de clases generará su propio Assembly.

Sin embargo el enfoque de un Shared Project es totalmente distinto. En el mismo solamente tendremos aquellos recursos que querramos compartir entre otros proyectos, más bien como un repositorio de contenidos. Luego dichos recursos estarán compilados o asociados directamente a aquellos proyectos donde haya referencias al Shared Project en cuestión. Esto es algo totalmente distinto a lo que normalmente hacemos, en el que nuestro código es compilado en el proyecto donde pertenece, lo cual es particularmente útil (y en varios casos necesario) cuando tenemos en una misma solución proyectos de aplicaciones para diferentes plataformas. Además vale la aclaración de que no necesariamente debe haber código C#, también podemos tener archivos JavaScript, Xaml e imágenes, entre otros.

En este post vamos a trabajar con una aplicación Android en Xamarin y una de consola (esto solo a fin de tener dos aplicaciones target diferentes). A su vez vamos a tener un requerimiento particular: tener clases parciales en nuestro proyecto compartido, las cuales luego las aplicaciones target deberán completar. Si usaríamos una librería de clases esto no sería posible, ya que los distintos componentes de una clase parcial deben contenerse y compilarse en un mismo Assembly.

Leer más »