xamarinentornoandroid-segmentacionversiones

Android en Xamarin: Conceptos generales, consideraciones y configuraciones

En el post anterior vimos cómo crear nuestra aplicación con Xamarin.Forms, corriendo en Android una de las aplicaciones target. La idea de este post es explicar cómo configurar el entorno de desarrollo y las consideraciones que tenemos que tener en cuenta sobre la misma.

Para ello hay tres aspectos que debemos tener en cuenta:

  • Dependencias según las versiones de Android que usemos
  • Configuración del proyecto Android en Visual Studio
  • Correr la aplicación en emuladores

Veamos en detalle cada uno de estos puntos:


Android SDK Manager

Esta es una de las partes fundamentales para el desarrollo de aplicaciones Android en general ya que es donde vamos a poder descargar todas las dependencias necesarias para el desarrollo.

Algo que hay que explicar como introducción es que en Android existe un concepto muy importante que son los API Levels, que es lo que habitualmente acostumbramos a mencionar como las diferentes versiones de Android disponibles en general. Actualmente tenemos disponibles los recursos desde la API 7 (Android 2.1) hasta la API 25 (Android 7.1.1). En el Android SDK Manager los distintos recursos se encuentran agrupados por cada API Level disponible, teniendo los siguientes recursos disponibles para descarga:

Leer más »

xamarinformsinicial-estructuraproyectos

¿Cómo crear una aplicación Xamarin.Forms?

Buenas!

Continuando con el conjunto de posts asociados a Xamarin vamos a ver cómo crear una aplicación del tipo Xamarin.Forms.

Como hemos mencionado en el post anterior, Xamarin.Forms es la variante de enfoque que nos permite reutilizar código asociado a la lógica de presentación. Con el mismo podremos llegar al extremo (dependiendo del caso es posible de que sea así) de desarrollar solamente una vez el código para múltiples plataformas.

Lo primero que deberemos hacer es crear el tipo de proyecto asociado. Para ello dentro de las opciones para crearlo seleccionamos Cross-Platform > Blank App (Xamarin.Forms portable):

xamarinformsinicial-crearproyecto

Leer más »

ReutilizacionXamarin - Portada

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):

Leer más »

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 »

introxamarin-portada

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 »

InternacionalizacionRTL - FuncionamientoFinal

Internacionalización: soporte a formato de escritura Right-to-Left en ASP.NET MVC

Uno de los temas pendientes en esta serie de post’s de internacionalización que estamos viendo es el soporte a culturas con sentido de escritura de derecha a izquierda en ASP.NET MVC (Right-to-Left o su acrónimo RTL, el cual usaremos de aquí en adelante). Esto será necesario cuando nuestra aplicación deba dar soporte a culturas que utilizan dicho formato de escritura, como por ejemplo sucede con el árabe.

Siguiendo con el ejemplo que venimos utilizando en el post anterior lo primero que haremos será dar soporte al árabe como cultura de nuestra aplicación. Para ello inicialmente crearemos el archivo de recursos asociado a la cultura árabe, el cual utiliza la sigla “ar” y agregaremos el contenido de cada recurso en su idioma:

InternacionalizacionRTL - CrearRecursos

NOTA: Todo el contenido que usemos en este post escrito en árabe está traducido con Google Translate ya que no conozco dicho idioma. Si alguien conoce del idioma y considera que la traducción no es la apropiada se agradece el comentario.

Lo siguiente será agregar tanto el link que permite el acceso a dicha cultura, el valor dentro de las constantes de las culturas soportadas y la lógica mínima para reconocer y establecer dicha cultura con nuestro esquema de rutas donde se visualiza la cultura.

Leer más »