Xamarin

Tu, yo y Xamarin Forms


Antes de comenzar con este artículo quiero recalcarles  que:

Xamarin es una plataforma que nos permite desarrollar aplicaciones para Android, iOS y Windows Phone utilizando C# como lenguaje único y que lo que es más importante, nos permite reducir el trabajo, con esto la cantidad de personas involucradas en el desarrollo.

Xamarin.Forms nos permite crear aplicaciones para:

  • Android 4.0 o superior
  • iOS 6.1 o superior
  • Windows Phone 8.0

¿Cuáles son las ventajas de utilizar Xamarin?

Aplicaciones 100% nativas

  • Interfaces nativas
  • Acceso a la API nativa del dispositivo
  • Rendimiento 100% nativo

Un solo lenguaje de programación: C#

IDEs sencillos

  • Xamarin Studio: IDE propio
  • Visual Studio

Código compartido

  • El 100% de la lógica de negocio pude compartirse entre las plataformas

Técnicas para compartir el código:

  • Proyectos compartidos: podemos
  • PCL ( Portable Class Library)
  • Xamarin.Forms

Arquitectura Xamarin Clásica

Antes, la forma de plantear el diseño de una aplicación tenía que ser algo así:

  1. Core Library: Xamarin nos proporciona la posibilidad de crear código compartido en C# para reutilizar en todas las plataformas, En este código podríamos tener  toda la lógica de negocio, la capa de acceso a datos y la capa de servicios. De esta manera solo tendremos una librería donde poner nuestra lógica y reducir el código repetido y facilitar el mantenimiento.
  2. Specific Platform layer: Aunque utilicemos código compartido siempre necesitaremos acceder a utilidades nativas de la plataforma y crear un interfaz de usuario específico para cada plataforma.

Ya llego, ya está aquí…. Xamarin Forms

Pero con la aparición de Xamarin.Forms ha cambiado mucho la forma de afrontar el diseño de la App y podemos tener una capa de interfaz común para diseñar nuestras interfaces multiplataforma. El resultado final son los controles nativos de la plataforma.

  1. Core Library: Lógica compartida
  2. Shares UI Code: Interfaz de usuario compartido.
  3. Specific Platform layer: acceso a recursos específicos de la plataforma.

Controles en Xamarin.Forms

Pages

Las páginas son controles contenedores que representan un Activity en Android, un View Controller en iOS y una Página en Windows Phone.

 pages

Layouts

Los layouts son contenedores de otros layouts o vistas. Lo utilizamos para posicionar los controles dentro de las páginas.

layouts

Views

Los controles o widgets más comunes que utilizamos normalmente en las aplicaciones.

  • BoxView: Control para pintar un rectángulo relleno de color.
  • Button: Control tipo botón.
  • DatePicker: Control para seleccionar fechas.
  • Entry: Control para editar texto en una sola línea.
  • Editor: Control para editar texto múltiples líneas.
  • Image: Control para mostrar imágenes.
  • Label: Control para mostrar texto de solo lectura.
  • ListView: Control para mostrar una lista.
  • OpenGLView: Control para mostrar contenido OpenGL.
  • Picker: Control para seleccionar un elemento de una lista.
  • ProgressBar: Control de barra de progreso.
  • ActivityIndicator : Control visual para avisar que algo está en curso sin informar el progreso.
  • SearchBar: Control de búsqueda.
  • Slider: Control visual para la captura de un valor lineal.
  • Stepper: Control para incrementar o reducir un valor numérico.
  • Switch: Control visual para la selección on-off.
  • TableView: Estructura contenedora de columnas y celdas.
  • TimePicker: Control visual para la entrada de horas y minutos.
  • WebView: Control contenedor de HTM

 Cells

Celdas predefinidas para facilitar el uso en listas y TableViews.

  • EntryCell: Celda especializada con un label para el título y un entry para la introducción de datos.
  • SwitchCell: Celda especializada con un label para el título y un switch para seleccionar.
  • TextCell: Celda especializada con dos labels, uno para el título y el otro para la descripción.
  • ImageCell: Celda especializada con una imagen y dos labels, uno para el título y otro para la descripción.

Información extraída del blog de mi colega MVP Marc Rubiño

Anuncios

Responder

Por favor, inicia sesión con uno de estos métodos para publicar tu comentario:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s