Introducción a Xamarin

48
INTRODUCCIÓN A XAMARIN En que consiste, aporte, costs y todo lo necesario para concretar con exactitud Xamarin

Transcript of Introducción a Xamarin

Page 1: Introducción a Xamarin

INTRODUCCIÓN A XAMARIN

En que consiste, aporte, costs y todo lo necesario para concretar con exactitud

Xamarin

Page 2: Introducción a Xamarin

SERVICIOS XAMARINAVANTE

.

.

Javier SuárezMicrosoft MVP Windows Platform Development

• Blog: http://geeks.ms/blogs/jsuarez• Email: [email protected]• Twitter: @jsuarezruiz

Page 3: Introducción a Xamarin

SERVICIOS XAMARINAVANTE

.

.Pero… ¿que significa nativo?

Page 4: Introducción a Xamarin

SERVICIOS XAMARINAVANTE

.

.

Anatomía de una App nativa

Interfaces de usuario nativas Acceso a APIs nativas Rendimiento como nativo

Page 5: Introducción a Xamarin

SERVICIOS XAMARINAVANTE

.

.El problema actual paradesarolladores

Page 6: Introducción a Xamarin

SERVICIOS XAMARINAVANTE

.

.

El problema

Creas la misma Appvarias veces

Page 7: Introducción a Xamarin

SERVICIOS XAMARINAVANTE

.

.

El enfoque “escribe una vez” para todo

Mínimo DenominadorComún

Page 8: Introducción a Xamarin

SERVICIOS XAMARINAVANTE

.

.

El enfoque de Xamarin

Nativo compartiendocódigo

Page 9: Introducción a Xamarin

SERVICIOS XAMARINAVANTE

.

.

¿APIs nativas?

APIs Windows

Page 10: Introducción a Xamarin

SERVICIOS XAMARINAVANTE

.

.

¿APIs nativas?

APIs iOS | 100% de Convergencia

Page 11: Introducción a Xamarin

SERVICIOS XAMARINAVANTE

.

.

¿APIs nativas?

APIs Android | 100% de Convergencia

Page 12: Introducción a Xamarin

SERVICIOS XAMARINAVANTE

.

.

Es decir, cualquier cosa que puedas hacer en Objective-C, Swift, o Java

se puede hacer con C# con Xamarin usando Visual Studio

Page 13: Introducción a Xamarin

SERVICIOS XAMARINAVANTE

.

.

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).

Page 14: Introducción a Xamarin

SERVICIOS XAMARINAVANTE

.

.

Tecnologías emergentes y nuevos dispositivos

Android Wear Google Glass Amazon Fire Phone Amazon Fire TV

Page 15: Introducción a Xamarin

SERVICIOS XAMARINAVANTE

.

.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

Xamarin 3

Xamarin.Forms

Evolve 2014

Xamarin Android Emulator

Page 16: Introducción a Xamarin

SERVICIOS XAMARINAVANTE

.

.

Xamarin

Page 17: Introducción a Xamarin

SERVICIOS XAMARINAVANTE

.

.

Xamarin StudioPC o Mac

Visual Studio Plugin

VS 2010/2012/2013

Page 18: Introducción a Xamarin

SERVICIOS XAMARINAVANTE

.

.

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 con Visual Studio

Page 19: Introducción a Xamarin

SERVICIOS XAMARINAVANTE

.

.

Integración con Visual StudioDebug en:• Emuladores• Dispositivos

Integrado en la ToolBar• Status• Logs• Listado de dispositivos

Just Click Start Debugging!

Page 20: Introducción a Xamarin

SERVICIOS XAMARINAVANTE

.

.

DEMOPrimer vistazo a la integración de Xamarin con Visual Studio y a Xamarin Studio

Page 21: Introducción a Xamarin

SERVICIOS XAMARINAVANTE

.

.

Ejecución

Xamarin HostNecesita un

MacEjecución desde

Visual Studio

Desde Visual Studio

DispositivosEmuladores

Emuladores nativos

DispositivosVisual Studio

Page 22: Introducción a Xamarin

SERVICIOS XAMARINAVANTE

.

.

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

Page 23: Introducción a Xamarin

SERVICIOS XAMARINAVANTE

.

.

DEMOPrimera App Xamarin

Page 24: Introducción a Xamarin

SERVICIOS XAMARINAVANTE

.

.

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 XAMLMVC MVC MVVMPatrón diseño

Page 25: Introducción a Xamarin

SERVICIOS XAMARINAVANTE

.

.

Comparativa de plataformas móviles. Xamarin

IDE

Lenguaje

Vistas

iOS Android Windows Phone

Visual Studio Visual Studio Visual Studio

C# C# C#

Storyboard AXML XAMLMVVM MVVM MVVMPatrón diseño

Page 26: Introducción a Xamarin

SERVICIOS XAMARINAVANTE

.

.

MVVM

View

ViewM

odel

Model

get/set PropiedadesComandos

Notifica cambios

C#

Models

ViewView

ViewM

odelView

Model

ModelM

odel

Cross PlatformEspecífico de la Plataforma

Page 27: Introducción a Xamarin

SERVICIOS XAMARINAVANTE

.

.

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.

Page 28: Introducción a Xamarin

SERVICIOS XAMARINAVANTE

.

.

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

Page 29: Introducción a Xamarin

SERVICIOS XAMARINAVANTE

.

.

Portable Class Library

•1 Librería•Multiples Platformas•Incluyendo:

• Xamarin.Android• Xamarin.iOS

Page 30: Introducción a Xamarin

SERVICIOS XAMARINAVANTE

.

.

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

Page 31: Introducción a Xamarin

SERVICIOS XAMARINAVANTE

.

.

MVVMCross & PCL

View

ViewM

odel

Model

PropiedadesComandos

Notifica cambios

C#

Model

ViewView

ViewM

odelView

Model

ModelM

odel

Cross Platform -PCLEspecífico de Plataforma

Page 32: Introducción a Xamarin

SERVICIOS XAMARINAVANTE

.

.

DEMOPrimera App Xamarin utilizando MVVMCross

Page 33: Introducción a Xamarin

SERVICIOS XAMARINAVANTE

.

.

Xamarin + Xamarin.FormsCon Xamarin.Forms:

Se comparte más, controles

compartidos

El enfoque tradicional de Xamarin

Shared UI Code

Page 34: Introducción a Xamarin

SERVICIOS XAMARINAVANTE

.

.

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

Page 35: Introducción a Xamarin

SERVICIOS XAMARINAVANTE

.

.

Plataformas soportadas por Xamarin.FormsSoporta:

• Android 4.0+

• iOS 6.1+

• Windows Phone 8.0 (Silverlight) & Windows Phone 8.1 (WinRT)

Page 36: Introducción a Xamarin

SERVICIOS XAMARINAVANTE

.

.

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

Page 37: Introducción a Xamarin

SERVICIOS XAMARINAVANTE

.

.

Páginas

Content MasterDetail Navigation Tabbed Carousel

Page 38: Introducción a Xamarin

SERVICIOS XAMARINAVANTE

.

.

Layouts

Stack Absolute Relative Grid ContentView

ScrollView Frame

Page 39: Introducción a Xamarin

SERVICIOS XAMARINAVANTE

.

.

Controles

ActivityIndicator

BoxView Button DatePicker Editor

Entry Image Label ListView Map

OpenGLView Picker ProgressBar SearchBar Slider

Stepper TableView TimePicker WebView EntryCell

ImageCell SwitchCell TextCell ViewCell

Page 40: Introducción a Xamarin

SERVICIOS XAMARINAVANTE

.

.

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

Page 41: Introducción a Xamarin

SERVICIOS XAMARINAVANTE

.

.

Creando una App Xamarin.Forms

Plantillas de proyectos:• Xamarin

Studio• Visual Studio

Dos formas de compartir código:• PCL• Shared

Page 42: Introducción a Xamarin

SERVICIOS XAMARINAVANTE

.

.

Esctructura de un Proyecto Xamarin.Forms

Proyectos específicos de cada plataforma. PCL o

Proyecto Shared que contará con la lógica compartida e incluso UI también.

Page 43: Introducción a Xamarin

SERVICIOS XAMARINAVANTE

.

.

DEMONuestra primera App Xamarin.Forms

Page 44: Introducción a Xamarin

SERVICIOS XAMARINAVANTE

.

.

Arquitectura de Apps con Xamarin.Forms

View

ViewM

odel

Model

PropiedadesComandos

Notifica cambios

C#

Model

ViewView

ViewM

odelView

Model

ModelM

odel

Cross Platform –PCL o Shared

Page 45: Introducción a Xamarin

SERVICIOS XAMARINAVANTE

.

.

DEMOPatrón MVVM aplicado en una App Xamarin.Forms

Page 46: Introducción a Xamarin

SERVICIOS XAMARINAVANTE

.

.

¿PREGUNTAS y RESPUESTAS?Dudas?

P&R

Page 47: Introducción a Xamarin

SERVICIOS XAMARINAVANTE

.

.

GRACIAS a TODOSPor vuestro tiempo!

Javier SuárezMicrosoft MVP Windows Platform Development

• Blog: http://geeks.ms/blogs/jsuarez• Email: [email protected]• Twitter: @jsuarezruiz

Page 48: Introducción a Xamarin

SERVICIOS XAMARINAVANTE

.

.

INTRODUCCIÓN A XAMARINEn que consiste, aporte, costs y todo lo necesario para concretar con exactitud Xamarin.