Etiqueta: Shared Project

Esquemas de reutilización de código en Xamarin

Esquemas de reutilización de código en Xamarin

Dentro del desarrollo multiplataforma que plantea Xamarin hay dos puntos claves donde podremos plantear reutilización del código de nuestras aplicaciones: la lógica de negocio y la lógica de presentación. Esto implica que sobre dos de los puntos claves de una aplicación mobile podremos aplicar reutilización de código, reduciendo tiempos de desarrollo y facilitando el mantenimiento.

A su vez estos puntos son complementarios entre sí, pudiendo utilizar ambos de forma simultánea. Lo que si quedará en nuestras manos es la decisión sobre cuando utilizar cada una de estas formas y que funcionalidad tener como compartida entre las distintas plataformas, ya que como en todo desarrollo si planteamos compartir algo que realmente no corresponde nos estaremos complicando sin necesidad.

 

Lógica de negocio:

Este será el punto de reutilización elemental de Xamarin, ya que no hay existe prácticamente escenario donde no sea provechoso reutilizar la lógica de negocio de una aplicación.

A aquellos que ya hayan hecho desarrollos móviles en distintas plataformas, ¿no les ha pasado de que terminan haciendo exactamente la misma lógica de aplicación en distintos lenguajes y con distintos frameworks, resolviendo los mismos problemas pero de distintas formas? Acá está el punto original sobre el cual Xamarin a venido a ayudarnos.

La clave aquí está en desarrollar toda nuestra lógica de aplicación a través de proyectos separados a lo que son las capas de presentación, y desde estás últimas referenciar a dichos proyectos. En los proyectos compartidos donde desarrollemos toda nuestra lógica de aplicación por ejemplo podremos hacer lo siguiente (solo por mencionar algunos usos comunes):

Seguir leyendo “Esquemas de reutilización de código en Xamarin”

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.

Seguir leyendo “Shared Project: un tipo de proyecto para compartir código y recursos”