Curso de Xamarin


Curso Xamarin-01

El curso tiene como objetivo capacitar a los profesionales de TI en esta tecnología emergente de manera que puedan utilizar este conocimiento para un desarrollo más rápido en multiples plataformas (iOS, Windows Phone, Android) con un compilado de forma nativa obteniendo así mejores posibilidades en el mercado.

Sabías que los profesionales de .NET que manejan est´ tecnología ganan entre 30 y 60k al mes? Que con una aplicación puedes reutilizar hasta el 95% del código en iOS, Android y Windows Phone? Ven a capacitar te en una de las tecnologías del mercado más completas!

Fecha: Todos los sábados, del 4 de junio al 23 de julio del 2016

Hora: 09:00 – 14:00 hrs

Sede: World Trade Center Piso 32 Oficina 27, Benito Juárez, México D.F.

Contenido

Introducción al desarrollo móvil

¿Qué es Xamarin?

Formas de crear aplicaciones con Xamarin.

Xamarin.iOS

Xamarin.Android

Xamarin.Forms

Papel fundamental de Xamarin en un equipo de desarrollo.

Portabilidad de código .Net

Estrategias comunes en el desarrollo para móviles.

Manejo de memoria

Threads, Thread Pools, Task = Parallel

Async, Await

Shared vs PCL project

Xamarin.iOS

Estructura

Elementos gráficos

Consideraciones de diseño

Fases de desarrollo

Limitaciones

Kitchen Sink

 

Xamarin Android

Estructura

Elementos gráficos

Consideraciones de diseño

Fases de desarrollo

Limitaciones

Kitchen Sink

 

Xamarin.Forms

Introducción

Uso recomendado

Limitaciones

MVVM

Páginas

Contenedores

Controles

Dependencies

Custom Renders

Device.

Sacar el máximo provecho

 

Como organizar el desarrollo con Xamarin

Control de Código Fuente

Xamarin Studio vs Visual Studio

Extensiones y Componentes

Bindings de Objective C

Bindings de Java

Compatibilidad con C# 6

Open GL

Aplicaciones con IL y F#

Project Rosylin

Mono Project

Gtk#

INVERSIÓN
$ 4,500
20% de descuento si te inscribes con 2 socios más
REQUERIDO: Equipo de cómputo de preferencia Mac
Ponentes:

  1. Esteban Gimbernat:
    Profesional de TI especializado en tecnologías móviles (Android, iOS, Xamarin)
  2. Tristán Martínez:
    Profesional de TI especializado en tecnologías Microsoft
  3. Vicente Guzman:
    MVP en Windows Platform Development y Xamarin Regional Lead

Haz tu pre-registro aquí:

http://goo.gl/forms/G84Z7NLtwr

Contacto

E-mail: tmartinez@alset.com.mx | soporte@stellasoft.com.mx

 

MVVM de terceros – Xamarin


Introducción

Como su documentación lo indica, Xamarin es un capa encima de los SDK nativos que en conjunto con una Máquina Virtual de Mono habilita el uso de C# para el desarrollo de aplicaciones Móviles y IoT.

Desarrollo

El uso de MVVM de terceros no está soportado por Xamarin, así mismo no está obligado a mantener la compatibilidad en cada actualización y especifica explícitamente que no está permitido hacer referencia o ejercer control sobre librerías de Xamarin o Mono.

Indagando a fondo, se encontró que Cirrus.MVVM es una solución de código libre por lo tanto no se encuentra garantizada su permanencia y constante actualización.

Así mismo, no provee mayor ventaja contra Xamarin o Xamarin.Forms, ya que oficialmente Xamarin ofrece MVVM bindings que se encuentran probados por sus mismos ingenieros y es parte de la solución que ofrece Xamarin con la licencia.

A continuación se puede demostrar que lejos de ser una ventaja el usar un MVVM de terceros, es contraproducente:

Funcionamiento Normal (Propuesto por Xamarin)

Xamarin.Forms

•Ofrece Bindings Nativos de C# con Weak References que se ejecutan de manera directa sobre el UI sin intermediarios

•Su soporte está garantizado y su RoadMap está acorde a los otros productos y servicios.

Xamarin.Android / Xamarin.iOS

•A través de DependencyService y Renderers se logra la personalización nativa.

Funcionamiento en base a lo desarrollado

MVVM Cirrus

•Busca implementar los Bindings y otras funciones sobre SDK de Xamarin y Xamarin.Forms. Con el fin de cumplir con un modelo MVVM

•No conoce el Roadmap de Xamarin, lo que lo hacer ser vulnerable antes las actualizaciones

•Su arquitectura es Singleton, lo que causa conflicto con la implementación de Xamarin MVC y Async.

•No es necesaria su implementación, Xamarin provee todo acerca del model MVVM y MVC. A su vez hace enorme la pared entre el código nativo, MONO, Xamarin SDK y su propia implementación sobre funciones YA implementadas en Xamarin

Xamarin.Forms

•Se forza a operar bajo un controlador bajo el que no está diseñado, pues debería ser el último extremo.

•No se usa la implementación propuesta por la documentación oficial de Xamarin, por lo que NO hay soporte en caso de bug.

Xamarin.Android / Xamarin.iOS

•Se ven forzados a operar bajo MVVM cuando no les corresponde pues se deberìan usar las implementaciones nativas o en su caso un PCL de Xamarin.Forms

Así mismo el código se repite en las diferentes aplicaciones nativas y se deja el PCL para parte de los ViewModels, no se sigue ninguna de las arquitecturas propuestas y se repite la lógica en cada proyecto.

El controlador de la vista se escribe para cada implementación nativa y no se sigue un patrón, Interface, clase genérica o abstracta como base, causando así problemas de uniformidad entre plataformas.

No se usan CustomRenders para tener una sola vista con ajustes menores en cada plataforma, ni DependencyServices para Singleton y una ejecución segura y anónima de las implementaciones nativas.

No se aprovecha el MessangerCenter que permita la comunicación entre vistas sin conocer entre ellas.

Conclusión

No es necesario ni recomendable el uso de MVVM de terceros pues Xamarin cuenta con el propio y va de la mano con todas las implementaciones y productos que tiene.

Se está repitiendo mucho código que podría simplificarse y es justo lo que se quiere evitar al desarrollar proyectos nativos.

Todos los ejemplos, la documentación y Apps de muestra usan Xamarin.Forms o en su defecto API’s de Xamarin.

El objetivo de usar Xamarin es la rapidez en su desarrollo, compartir la máxima cantidad de código y hacer aplicaciones uniformes.

Introducción a Xamarin [Evento – U]


13001307_1396112697081056_8567205743449376751_n

El pasado Lunes 18 de Abril tuve la oportunidad de brindar un taller introductorio a Xamarin para la Universidad Tecnológica de Xicotepec de Juarez, Puebla en TelmexHub.

A pesar de los detalles técnicos que se tuvieron con los equipos de computo, los estudiantes pudieron aprender sobre Xamarin y las ventajas que tiene a la hora de desarrollar aplicaciones.

Fotos!!

El pase de diapositivas requiere JavaScript.

Para los interesados , a continuacion les comparto la .ppt

Quiero agradecer al Ing. Marco Antonio Ramirez Hernandez por la invitacion y organizar la visita de los estudiantes a la Ciudad de Mexico.

cc @xamarinhq | @xamarinU

Happy Coding!

Vicente Guzman – Xamarin Regional Lead

 

MvvmCross para Aplicaciones Xamarin


El patrón (MVVM) Model-View-ViewModel es el patrón de referencia de elección para cualquier aplicación XAML (Windows Presentation Foundation [WPF], Windows 8, Windows Phone y Silverlight).

Aunado a esto, la mejor parte es que se puede utilizar para cualquier otra tecnología, incluso los que no utilice XAML, como con ASP.NET, JavaScript y mucho más.

Como bien sabemos Xamarin nos permite desarrollar aplicaciones de Android o iOS en código C# y que estas aplicaciones vienen con sus propios modelos de desarrollo, pero gracias a un fremework llamado MvvmCross, podemos vincular susodicho patrón MVVM a estas plataformas.

Antes que nada, debemos de saber que el framework MvvmCross es Open Source y fue desarrollado por Stuart Logia, asi que como está disponible para Windows Phone, Windows 8, iOS, Android y aplicaciones WPF. MvvmCross lleva al patrón MVVM a las plataformas en las que era anteriormente no estaba disponible, como iOS y Android.

También es compatible con los data binding en las vistas. Esta es una característica de gran alcance que proporciona una gran separación de las capas. La vista utilizará los ViewModels para ofrecer comportamientos adecuados en la aplicación. MvvmCross incluso localiza los ViewModels en un proyecto específico para que pueda referenciar y reutilizarlos en otros fácilmente.

Este es el punto más importante cuando se habla de MvvmCross. Al ubicar las ViewModels en una biblioteca de clases portátil (PCL), puede añadirlos como una referencia a cualquier otro proyecto. Por supuesto, eso no es el único punto de MvvmCross interesante. También hay una arquitectura plug-in, la inyección de dependencias (DI) y muchas otras cosas más.

 

Xamarin y Microsoft

Microsoft adquiere Xamarin


Desde hace mucho tiempo atrás lo veía venir…pero hoy ya es un hecho, y es que Microsoft ha firmado un acuerdo definitivo para adquirir Xamarin.

Sinceramente me siento feliz de colaborar en ambas compañías desde hace tiempo, y se que es una excelente noticia para los desarrolladores de todo el mundo.

Xamarin y Microsoft.jpg

Esta adquisición es un nuevo comienzo para Xamarin-la empresa y sus productos, y es una oportunidad para ayudar a muchos, muchos más desarrolladores a crear aplicaciones muy buenas. Como muchos de ustedes, veo Microsoft y Xamarin como un ajuste perfecto.

Nat Friedman

No puedo esperar para saber más sobre los planes en la conferencia del Build en marzo y en el Xamarin Evolve en Abril

Mas información: ScottGu`s Blog – #XamarinJoinsMicrosoft