Llevando tu startup a las tres principales plataformas móviles

35
Llevando tu startup a las tres principales plataformas móviles Con Xamarin, C# y Visual Studio 2015

Transcript of Llevando tu startup a las tres principales plataformas móviles

Page 1: Llevando tu startup a las tres principales plataformas móviles

Llevando tu startup a las tres principales

plataformas móvilesCon Xamarin, C# y Visual Studio 2015

Page 2: Llevando tu startup a las tres principales plataformas móviles

Arrrrrrrr

Yeray Julián FerreiroMobile Developer @ [email protected]@josueyeray

Microsoft MVP Windows PlatformC# Corner MVPXamarin Community SpeakerNokia Developer Champion

Page 3: Llevando tu startup a las tres principales plataformas móviles

Un problema para las empresas… da igual el tamaño:

Grandes corporaciones, PYMES, Startups

Pero una ventaja para los consumidores!

Page 4: Llevando tu startup a las tres principales plataformas móviles

¿Cual escoger?

Page 5: Llevando tu startup a las tres principales plataformas móviles

¿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

Page 6: Llevando tu startup a las tres principales plataformas móviles

ENFOQUES: MÍNIMO DENOMINADOR COMÚN

Page 7: Llevando tu startup a las tres principales plataformas móviles

ENFOQUES: REPETIR EL TRABAJO

Objective-CSwift

JavaC++

C#C++

Page 8: Llevando tu startup a las tres principales plataformas móviles

ENFOQUES: XAMARIN

Compartir código...

...pero sin abandonar las

peculiaridades

Page 9: Llevando tu startup a las tres principales plataformas móviles

Experiencia única en el dispositivo del cliente

Agilidad en el desarrollo, mantenimiento y ROI

Experiencia de

usuario

Experiencia de desarrollo

EL SANTO GRIAL

Page 10: Llevando tu startup a las tres principales plataformas móviles

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

Page 11: Llevando tu startup a las tres principales plataformas móviles

iOS C# UI

ANDROID AXML UI

WINDOWS XAML UI

Page 12: Llevando tu startup a las tres principales plataformas móviles

iOS C# UI

ANDROID AXML UI

WINDOWS XAML UIShared UI Code C#/XAML

Page 13: Llevando tu startup a las tres principales plataformas móviles

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

Page 14: Llevando tu startup a las tres principales plataformas móviles

APIs Windows

Page 15: Llevando tu startup a las tres principales plataformas móviles

APIs iOS | 100% de Convergencia

Page 16: Llevando tu startup a las tres principales plataformas móviles

APIs Android | 100% de Convergencia

Page 17: Llevando tu startup a las tres principales plataformas móviles

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

se puede hacer en C# con Xamarin usando Visual Studio

Page 18: Llevando tu startup a las tres principales plataformas móviles

Xamarin StudioPC o Mac

Visual Studio Plugin

VS 2010/2012/2013

Page 19: Llevando tu startup a las tres principales plataformas móviles

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

Page 20: Llevando tu startup a las tres principales plataformas móviles

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

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

Just Click Start Debugging!

Page 21: Llevando tu startup a las tres principales plataformas móviles

Xamarin HostNecesita un

MacEjecución desde

Visual Studio

Desde Visual Studio

DispositivosEmuladores

Emuladores nativos

DispositivosVisual Studio

Page 22: Llevando tu startup a las tres principales plataformas móviles

DEMOLets do Xamarin Voodoo

Page 23: Llevando tu startup a las tres principales plataformas móviles

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

Page 24: Llevando tu startup a las tres principales plataformas móviles

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

Page 25: Llevando tu startup a las tres principales plataformas móviles

Solución xamarin

PCL

VistasServicios de plataforma

VistasServicios de plataforma

VistasServicios de plataforma

ViewModelsServicios comunes

MVVM

Page 26: Llevando tu startup a las tres principales plataformas móviles

¿PCL?

•1 Librería•Multiples Plataformas•Incluyendo:•Xamarin.Android•Xamarin.iOS

Page 27: Llevando tu startup a las tres principales plataformas móviles

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

Page 28: Llevando tu startup a las tres principales plataformas móviles

¿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

Page 29: Llevando tu startup a las tres principales plataformas móviles

¿MVVM en xamarin?

modelview viewmodel

PropiedadesCommandosEnlaces

Servicios

PCL

Page 30: Llevando tu startup a las tres principales plataformas móviles

¿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

Page 31: Llevando tu startup a las tres principales plataformas móviles

PCL

Page 32: Llevando tu startup a las tres principales plataformas móviles

DEMOCONQUER THE WORLD!

Page 33: Llevando tu startup a las tres principales plataformas móviles

Para terminar…

iOS 5+

API Level 6+ (Android 1.6+)

Windows Phone 7+

Page 34: Llevando tu startup a las tres principales plataformas móviles

Para terminar…

AXML XAML C#

Page 35: Llevando tu startup a las tres principales plataformas móviles

¡Gracias!¿Preguntas?

Yeray Julián FerreiroMobile Developer @ [email protected]@josueyeray