Desarrollo, Xamarin, Xamarin.Forms

Creando una App con Xamarin.Forms [Parte 1]


Durante las siguientes semanas me gustaría compartir con ustedes mis aventuras en el mundo del desarrollo móvil, puesto que en mi trabajo estoy al 100% con Xamarin, pero principalmente con Xamarin.Forms, la cual desde mi punto de vista es la mejor opción a la hora de desarrollar aplicaciones, puesto que el porcentaje de código compartido es mayor.

Cabe mencionar que así como cualquiera de ustedes posiblemente contare con compromisos, restricciones de tiempo que me alejaran un poco del teclado, sin embargo voy a tratar de poder culminar esta serie de temas que les propongo a continuación las cuales se enfocan en la creación de una App con Xamarin.Forms:

Parte 1 : Introducción

Parte 2: Primeros pasos

Parte 3: Como usar Xamarin.Forms

Parte 4: Application Resources

Parte 5: Dependency Injection

Parte 6: View Model – Primera Navegación

Parte 7: Unit Testing

Parte 8: El consumo de un servicio Web REST

Parte 9: Trabajando con alertas y cuadros de dialogos

Parte 10: Diseño y desarrollo de la interfaz de usuario

Las areas en las que me enfocare para el ‘como puedo comenzar’ son las siguientes:

Empezando – Proyecto y estructura de la solución
Recursos de aplicaciones
La manera correcta de usar Dependency Injection
XAML – La vista vs código
MVVM & View Model – Primer acercamiento
Navegación – Modelo de navegación
Consumo de datos de servicios Web

Introducción

Como todos ya sabemos, Xamarin es una plataforma que nos permite crear aplicaciones móviles tanto para Android como para iOS y Windows Phone; Ademas de que nos permite reducir tanto los perfiles como la cantidad de equipos involucrados en el desarrollo.

Ventajas:

  • 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
  • Coding compartido
    – El 100% de la logica de negocio puede compartirse entre las plataformas
    – Técnicas para compartir el código:
    \\Proyectos compartidos: podemos utilizar directivas de compilación #if para utilizar dependiendo de las necesidades especificas de la plataforma.
    \\PCL “Portable Class Library: libraries .NET compatibles con diferentes plataformas.
    \\Xamarin.Forms: nos permite crear interfaces nativas con mas de 40 controles compatibles.

Arquitectura Xamarin Clasica

La forma de plantear el diseño de la App tenia que ser parecido a este:

1 – Core Library: Xamarin nos proporciona la posibilidad de crear codilgo 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 codigo repetid y facilitar el mantenimiento.

2 – Specific Platform Layer: Aunque utilicemos codigo compartido siempre necesitaremos acceder a las utilidades nativas de la plataforma y crear una interfaz de usuario especifico para cada plataforma.

Xamarin.Forms

Con la aparición de Xamarin.Forms ha cambiado mucho la forma de afrontar el diseño de las Apps y es que podemos tener una capa de interfaz común para diseñar nuestras propias interfaces multiplataforma, lo que da por resultado los controles nativos de la plataforma.

1- Core Library: Logica compartida
2- Shares UI Code: Interfaz de usuario compartido
3- Specific Platform Layer: Acceso a recursos específicos de la plataforma

Utilidades a conocer…

Algo de lo que verán mucho o deben de conocer es sobre:

CustomRenderers – Nos permite personalizar la visualización y el comportamiento de los controles para cada una de las plataformas.
DependencyServices – Nos permite acceder desde Xamarin.Forms a características nativas de cada plataforma, como podría ser el GPS, cámara, etc.
MessagingCenter – Nos permite publicar y subscribirse a mensajes para comunicar nuestros ViewModels o diferentes componentes.

Ahora ya que estamos un poco empapados de lo que nos enfrentaremos a futuro, les platico de que tratara la aplicación, esta sera de consumir datos reales y que brinden actualizaciones  regulares, y bueno, lo mas usual es brindar conocimiento del clima, se que existen muchas, pero son las que a mi parecer cumplen con todas las demandas de lo que una App debe de tener.

Espero y me sigan en este camino que emprenderemos…

//Recuerden: Cualquier comentario favor de hacerlo en el post relacionado.

#HappyCoding #XamarinForms

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