llevando tu startup a las tres principales plataformas móviles
TRANSCRIPT
Llevando tu startup a las tres principales
plataformas móvilesCon Xamarin, C# y Visual Studio 2015
Arrrrrrrr
Yeray Julián FerreiroMobile Developer @ [email protected]@josueyeray
Microsoft MVP Windows PlatformC# Corner MVPXamarin Community SpeakerNokia Developer Champion
Un problema para las empresas… da igual el tamaño:
Grandes corporaciones, PYMES, Startups
Pero una ventaja para los consumidores!
¿Cual escoger?
¿Cual escoger?
C#C++HTML/XAML …
ObjC JavaC++Axml
Windows Phone – Sistema móvil de más rápido crecimientoWindows – 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
ENFOQUES: MÍNIMO DENOMINADOR COMÚN
ENFOQUES: REPETIR EL TRABAJO
Objective-CSwift
JavaC++
C#C++
ENFOQUES: XAMARIN
Compartir código...
...pero sin abandonar las
peculiaridades
Experiencia única en el dispositivo del cliente
Agilidad en el desarrollo, mantenimiento y ROI
Experiencia de
usuario
Experiencia de desarrollo
EL SANTO GRIAL
2000
Se funda Ximian
2001
ComienzaMono
2003
Ximian es adquiridaPor Novell
2009
Se lanza elPrimer product iOS
2011
Se fundaXamarin
Primera Release deXamarin.Android
2012
PrimeraRelease deXamarin.Mac
LaunchPartnerProgram
2013
Xamarin 2.0
Component Store
Evolve 2013
Xamarin TestCloud
Microsoft Partnership
2014
.NET Launch
iPhone
Android
Windows Phone
iOS C# UI
ANDROID AXML UI
WINDOWS XAML UI
iOS C# UI
ANDROID AXML UI
WINDOWS XAML UIShared UI Code C#/XAML
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).
APIs Windows
APIs iOS | 100% de Convergencia
APIs Android | 100% de Convergencia
Es decir, cualquier cosa que puedas hacer en Objective-C, Swift, o Java
se puede hacer en C# con Xamarin usando Visual Studio
Xamarin StudioPC o Mac
Visual Studio Plugin
VS 2010/2012/2013
Integración con Visual StudioUna ú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
Integración con Visual StudioDebug en:• Emuladores• Dispositivos
Integrado en la ToolBar• Status• Logs• Listado de dispositivos
Just Click Start Debugging!
Xamarin HostNecesita un
MacEjecución desde
Visual Studio
Desde Visual Studio
DispositivosEmuladores
Emuladores nativos
DispositivosVisual Studio
DEMOLets do Xamarin Voodoo
Desarrollo nativo
IDE
Lenguaje
Vistas
iOS Android Windows Phone
Xcode Android Studio
Visual Studio
ObjectiveC o Swift
Java C#
Storyboard AXML XAML
MVC MVC MVVMPatrón diseño
Desarrollo xamarin
IDE
Lenguaje
Vistas
iOS Android Windows Phone
Visual Studio
Visual Studio
Visual Studio
C# C# C#
Storyboard AXML XAML
MVVM MVVM MVVMPatrón diseño
Solución xamarin
PCL
VistasServicios de plataforma
VistasServicios de plataforma
VistasServicios de plataforma
ViewModelsServicios comunes
MVVM
¿PCL?
•1 Librería•Multiples Plataformas•Incluyendo:•Xamarin.Android•Xamarin.iOS
¿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.
¿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
¿MVVM en xamarin?
modelview viewmodel
PropiedadesCommandosEnlaces
Servicios
PCL
¿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
PCL
DEMOCONQUER THE WORLD!
Para terminar…
iOS 5+
API Level 6+ (Android 1.6+)
Windows Phone 7+
Para terminar…
AXML XAML C#
¡Gracias!¿Preguntas?
Yeray Julián FerreiroMobile Developer @ [email protected]@josueyeray