Introduccion a Xamarin

39

Transcript of Introduccion a Xamarin

Page 1: Introduccion a Xamarin
Page 2: Introduccion a Xamarin

#XamarinDevDays

Page 3: Introduccion a Xamarin

Introducción a Xamarin

Page 4: Introduccion a Xamarin

¿Quien es este chico?

MVP Windows Development Xamarin Regional Lead

[email protected]://vicenteguzman.mx@LucioMSP

Vicente G. Guzmán Lucio[ Maestro | Ingeniero | Licenciado | Geek ]

Page 5: Introduccion a Xamarin

Más Plataformas == Más usuarios

Page 6: Introduccion a Xamarin

¿Cuáles son las mejores plataformas para llegar a la gente?

Android: 52%iOS: 42%WinPhone: 3%Blackberry: 2%Otras: 1%

Page 7: Introduccion a Xamarin

¿Cuál es el principal problema para los desarrolladores?

Page 8: Introduccion a Xamarin

Enfoque del desarrollo móvil

Page 9: Introduccion a Xamarin

Desarrollo móvil - Enfoque clásico

iOS WindowsAndroid

Objective-CXcode

C#Visual Studio

JavaAndroid Studio

Nativo: desarrollando 3 Apps “iguales”

• Varios equipos especializados• Mucho codigo repetido• Diferentes herramientas• …….

Page 10: Introduccion a Xamarin

Enfoque: “escribe una vez” para todo…

HTML5 + CSS3 + JavaScript

• Mínimo Denominador Común• Fragmentación por navegador• Rendimiento NO nativo

Desarrollas y diseñas una única vez, pero…- ¿Experiencia de usuario?- ¿Calidad del código?

Page 11: Introduccion a Xamarin

Desarrollo Móvil

{ Ayer } { Hoy }

Page 12: Introduccion a Xamarin

Roma no se construyo en un día…

2000 2001 2003 2009 2011 2012 2013 2014 2015…

Se funda Ximian

ComienzaMono

Ximian esadquiridapor Novell

Se lanza el primer producto

iOS

ConocidoComo

MonoTouch

Se fundaXamarin

PrimerRelease

de XamarinAndroid

PrimerRelease

de XamarinAndroid

LaunchPartnerProgram

Xamarin 2.0

Evolve 2013

XamarinTest

Cloud

MicrosoftPartnership

Xamarin 3

Xamarin.Forms

Evolve 2014

XamarinAndroid

Emulator

Page 13: Introduccion a Xamarin

Enfoques Xamarin: ¿Qué opciones tenemos?

Page 14: Introduccion a Xamarin

Enfoque Xamarin (Clásico)

• 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 Shared Projects.

• Código compartido: 80% aprox.

Page 15: Introduccion a Xamarin

Enfoque Xamarin.Forms

Mas código compartido (controles nativos)

Shared UI Code

Page 16: Introduccion a Xamarin

¿Cómo es posible?

Xamarin.Android usa la compilación Just In Time (JIT).

Xamarin.iOS realiza una compilación Ahead Of Time (AOT) para crear un binario ARM para la App Store.

Page 17: Introduccion a Xamarin

APIs Android

100% deConvergencia

¿APIs nativas?

Page 18: Introduccion a Xamarin

APIs iOS

100% de Convergencia

¿APIs nativas?

Page 19: Introduccion a Xamarin

APIs Windows

¿APIs nativas?

Page 20: Introduccion a Xamarin

Es decir, cualquier cosa que puedas hacer en Objective-C, Swift o Java se pueden hacer en C# con Xamarin.

Page 21: Introduccion a Xamarin

¿Por qué Xamarin?

Page 22: Introduccion a Xamarin

Xamarin – Una completa solución móvil

Diseño Desarrollo Integración

Aprendizaje

Plataforma Xamarin

Pruebas Monitoreo

Page 23: Introduccion a Xamarin

Visual Studio

Page 24: Introduccion a Xamarin

Xamarin Studio – Mac

Page 25: Introduccion a Xamarin

Xamarin.Forms

Page 26: Introduccion a 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 27: Introduccion a Xamarin

+40 Páginas

Content MasterDetail Navigation Tabbed Carousel

Page 28: Introduccion a Xamarin

7 Layouts

Stack Absolute Relative Grid ContentView ScrollView Frame

Page 29: Introduccion a Xamarin

24 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 30: Introduccion a Xamarin

Ejemplo de Xamarin.Forms

En tiempo de ejecución, las páginas y controles de Xamarin.Forms son convertidos a elementos nativos de interface de Usuario de cada plataforma.

Page 31: Introduccion a Xamarin

Desarrollemos una App

Page 32: Introduccion a Xamarin

Siempre al día…

Asistencia en el mismo día:iOS 5, iOS 6, iOS 7, iOS 7.1, iOS 8

Soporte completo para:

Google Glass Android Wear Amazon Fire TV Apple Watch Más!

Page 33: Introduccion a Xamarin

Diversificación: Android

Page 34: Introduccion a Xamarin

Diversificación: iOS3D Touch iPhone 6s series only

Apple penciliPad Pro only

Multi TaskingOnly select iPads

iPads

iPod touchiPhones

Factores de Form Caracteristicas iOS 9

Page 35: Introduccion a Xamarin

Resumen• Xamarin permite crear aplicaciones nativas en iOS, Android, Mac y Windows

mediante .NET y aprovechando toda la potencia de C#.• Las aplicaciones implementadas mediante Xamarin tienen un Look&Feel nativo por

que son nativas. Ofrece un 100% de cobertura en las APIs de desarrollo de cada plataforma, estando siempre al día en cuanto a actualizaciones se refiere.

• Posibilidad de desarrollar en Mac o Windows mediante Xamarin Studio, o instalando Visual Studio.

• Mejora los tiempos de desarrollo y los costes mediante la compartición de una gran cantidad de código.

• Prueba de forma automática tu App en miles de dispositivos reales mediante Xamarin Test Cloud.

• Obtenemos información de los dispositivos de los usuarios mediante Xamarin Insights.

Page 36: Introduccion a Xamarin
Page 37: Introduccion a Xamarin

Unrivaled Mobile

Development Training

Live unlimited mobile development training from mobile experts, in your time-zone, on your schedule, and as often as you'd like.

Free 30 Day Trial - xamarin.com/university

Page 38: Introduccion a Xamarin

¡Regalos……regalos!• Métodos de compilación que realiza Xamarin para Android y iOS

• ¿De cuantos Layouts dispone Xamarin.Forms?

• ¿En que año se fundo Xamarin?

Page 39: Introduccion a Xamarin

Gracias! Preguntas?

Vicente Guzman Xamarin Regional LeadMVP Windows Development

[email protected]@LucioMSP