El mercado móvil es hoy día un pilar importante tanto para usuarios como para desarrolladores. Sin embargo, tenemos un mercado amplio y diverso con una gran variedad de dispositivos y sistemas. Si entramos en el terrero de desarrolladores el problema se acentúa con diferentes entornos de desarrollo, lenguajes y otros elementos. En esta sesión repasaremos el estado actual, introduciremos Xamarin como herramienta para crear aplicaciones nativas multiplataforma desde Visual Studio analizando todas sus bondades y costes además de ver distintas opciones Xamarin Classic y Xamarin.Forms.
12. SERVICIOS XAMARIN
AVANTE
.
.
Es decir, cualquier cosa que puedas hacer en Objective-C,
Swift, o Java
se puede hacer con C# con Xamarin usando Visual Studio
13. SERVICIOS XAMARIN
AVANTE
.
.
Xamarin.iOS realiza una compilación
Ahead Of Time (AOT) para crear un
binario ARM para la Apple’s App
Store.
Rendimiento nativo
Xamarin.Android usa la
compilación Just In Time (JIT).
15. SERVICIOS XAMARIN
AVANTE
.
.
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.A
ndroid
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
Xamarin 3
Xamarin.Forms
Evolve 2014
Xamarin Android
Emulator
18. SERVICIOS XAMARIN
AVANTE
.
.
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
Integración conVisual Studio
22. SERVICIOS XAMARIN
AVANTE
.
.
Desarrollo en Xamarin
• La UI es específica de cada
plataforma.
• La lógica de la Aplicación es
en C# y compartida mediante
el uso de PCLs o proyectos
Shared.
• 70% aprox. De código
compartido.
El enfoque tradicional de Xamarin
24. SERVICIOS XAMARIN
AVANTE
.
.
Comparativa de plataformas móviles. 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
25. SERVICIOS XAMARIN
AVANTE
.
.
Comparativa de plataformas móviles. 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
27. SERVICIOS XAMARIN
AVANTE
.
.
Pero… ¿Porque MVVM?
Mayor facilidad para mantener, extender y
compartir el código.
Más facilidad a la hora de colaborar.
Testing.
Más fácil de diseñar.
30. SERVICIOS XAMARIN
AVANTE
.
.
Características de una Portable Class Library
•Código compartido centralizado
•Se depura igual que si el código estuviese en un
Proyecto específico.
•Compartir Proyecto/Assembly
•NuGet
31. SERVICIOS XAMARIN
AVANTE
.
.
MVVMCross & PCL
View
ViewModel
Model
Propiedades
Comandos
Notifica
cambios
C#
Model
View
View
ViewModel
ViewModel
Model
Model
Cross Platform -PCL
Específico de
Plataforma
33. SERVICIOS XAMARIN
AVANTE
.
.
Xamarin + Xamarin.Forms
Con Xamarin.Forms:
Se comparte más, controles compartidos
El enfoque tradicional de Xamarin
Shared UI Code
34. SERVICIOS XAMARIN
AVANTE
.
.
Xamarin + Xamarin.Forms
• Permite crear facilmente y con
rapidez interfaces de usuario
nativas compartidas
• Los elementos de
Xamarin.Forms son mapeados
a elementos nativos y
behaviors propios de cada
plataforma
• Podemos mezclar
Xamarin.Forms con APIs
nativas
36. SERVICIOS XAMARIN
AVANTE
.
.
Que incluye
40+ tipos de páginas, Layouts, y
controles
Se puede utilizer code behind o
XAML
Two-way Data Binding
Navegación
API de animaciones
Servicio de dependencias
Messaging Center
40. SERVICIOS XAMARIN
AVANTE
.
.
Button button = new Button
{
Text = "Click Me!",
Font =
Font.SystemFontOfSize(NamedSize.Large),
BorderWidth = 1,
HorizontalOptions = LayoutOptions.Center,
VerticalOptions =
LayoutOptions.CenterAndExpand
};
button.Clicked += OnButtonClicked;
Un botón en Xamarin.Forms
41. SERVICIOS XAMARIN
AVANTE
.
.
Creando una App Xamarin.Forms
Plantillas de
proyectos:
• Xamarin Studio
• Visual Studio
Dos formas de
compartir código:
• PCL
• Shared
42. SERVICIOS XAMARIN
AVANTE
.
.
Esctructura de un Proyecto Xamarin.Forms
Proyecto
s
específic
os de
cada
plataform
a. PCL o
Proyecto
Shared que
contará con
la lógica
compartida
e incluso UI
también.
44. SERVICIOS XAMARIN
AVANTE
.
.
Arquitectura de Apps con Xamarin.Forms
View
ViewModel
Model
Propiedades
Comandos
Notifica
cambios
C#
Model
View
View
ViewModel
ViewModel
Model
Model
Cross Platform –PCL o Shared
47. SERVICIOS XAMARIN
AVANTE
.
.
GRACIAS a TODOS
Por vuestro tiempo!
Javier Suárez
Microsoft MVP Windows Platform Development
• Blog: http://geeks.ms/blogs/jsuarez
• Email: javiersuarezruiz@hotmail.com
• Twitter: @jsuarezruiz