Este documento describe cómo Xamarin permite desarrollar aplicaciones móviles multiplataforma utilizando C# y compartiendo código entre iOS, Android y Windows Phone. Xamarin permite compartir la lógica de negocio y las vistas entre plataformas, mientras que cada plataforma conserva sus propias interfaces de usuario nativas. El patrón MVVM es recomendado para el desarrollo con Xamarin, separando la lógica de negocio de las vistas para facilitar el mantenimiento y pruebas.
5. ¿Cual escoger?
C#
C++
HTML/XAML …
ObjC Java
C++
Axml
Windows Phone – Sistema móvil de más rápido crecimiento
Windows – SO más distribuido en el mundo
iOS– considerado el sistema móvil con ROI más alto Android– SO Móvil más vendido en el mundo
Devs
Clientes
9. Experiencia única en el
dispositivo del cliente
Agilidad en el desarrollo,
mantenimiento y ROI
Experiencia
de usuario
Experiencia de desarrollo
EL SANTO GRIAL
10. 2000
Se funda
Ximian
2001
Comienza
Mono
2003
Ximian
es adquirida
Por Novell
2009
Se lanza el
Primer product
iOS
2011
Se funda
Xamarin
Primera
Release de
Xamarin.An
droid
2012
Primera
Release de
Xamarin.Mac
Launch
Partner
Program
2013
Xamarin 2.0
Component
Store
Evolve 2013
Xamarin Test
Cloud
Microsoft
Partnership
2014
.NET Launch
iPhone
Android
Windows Phone
13. Xamarin.iOS realiza una compilación
Ahead Of Time (AOT) para crear un
binario ARM para la App Store.
Xamarin.Android usa la
compilación Just In Time (JIT).
19. Integración con Visual Studio
Una única solución:
• iOS
• Android
• Windows Phone
• Windows Store
Acceso al ecosistema
Microsoft:
• ReSharper
• Team Foundation Server
• Acceso a herramientas de
análisis y testing
20. Integración con Visual Studio
Debug en:
• Emuladores
• Dispositivos
Integrado en la ToolBar
• Status
• Logs
• Listado de dispositivos
Just Click Start Debugging!
21. Xamarin Host
Necesita un Mac
Ejecución desde
Visual Studio
Desde Visual
Studio
Dispositivos
Emuladores
Emuladores
nativos
Dispositivos
Visual Studio
27. ¿MVVM?
• MVVM Son las siglas de Model View ViewModel:
• Model: Nuestros Servicios/backend/base de datos.
• View: La vista, escrita en XAML en WPF, con la que el usuario
interactua.
• ViewModel: El contenedor de la lógica de nuestro aplicación,
encargado de comunicarse con el Model para obtener o persistir
datos y con la View para mostrar o recibir datos del usuario.
28. ¿MVVM?
• Patrón de diseño de la capa de presentación.
• Presentado en 2005 por Josh Grossman, ingeniero del equipo Avalon en Microsoft.
• Su origen es incierto. Muchas veces se habla de MVVM como un patron emergente,
aparecido en el equipo de desarrollo original de Blend a partir de los trabajos en
enlaces a datos.
• A diferencia de otros patrones como MVP o PM, MVVM está íntimamente ligado al
XAML, por lo que su introducción es menos abstracta.
• Firme objetivo: abstraer la lógica de aplicación de la representación visual de la
misma.
• Mayor capacidad de testeo de la lógica
• Independencia entre el diseñador y el desarrollador
30. ¿MVVM en xamarin? mvvmcross
• Cross Platform MVVM Development Framework
• Gratuito, Open Source
• Soporta
• WP 7, 8, 8.1
• WPF
• WinRT
• Xamarin.Android
• Xamarin.iOS
• Xamarin.Mac
• AKA Mvx
• Standard de facto en el desarrollo Xamarin classic