Post on 15-Apr-2017
#XamarinDevDays
Introducción a Xamarin
¿Quien es este chico?
MVP Windows Development Xamarin Regional Lead
luciomsp@geeks.mshttp://vicenteguzman.mx@LucioMSP
Vicente G. Guzmán Lucio[ Maestro | Ingeniero | Licenciado | Geek ]
Más Plataformas == Más usuarios
¿Cuáles son las mejores plataformas para llegar a la gente?
Android: 52%iOS: 42%WinPhone: 3%Blackberry: 2%Otras: 1%
¿Cuál es el principal problema para los desarrolladores?
Enfoque del desarrollo móvil
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• …….
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?
Desarrollo Móvil
{ Ayer } { Hoy }
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
Enfoques Xamarin: ¿Qué opciones tenemos?
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.
Enfoque Xamarin.Forms
Mas código compartido (controles nativos)
Shared UI Code
¿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.
APIs Android
100% deConvergencia
¿APIs nativas?
APIs iOS
100% de Convergencia
¿APIs nativas?
APIs Windows
¿APIs nativas?
Es decir, cualquier cosa que puedas hacer en Objective-C, Swift o Java se pueden hacer en C# con Xamarin.
¿Por qué Xamarin?
Xamarin – Una completa solución móvil
Diseño Desarrollo Integración
Aprendizaje
Plataforma Xamarin
Pruebas Monitoreo
Visual Studio
Xamarin Studio – Mac
Xamarin.Forms
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
+40 Páginas
Content MasterDetail Navigation Tabbed Carousel
7 Layouts
Stack Absolute Relative Grid ContentView ScrollView Frame
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
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.
Desarrollemos una App
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!
Diversificación: Android
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
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.
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
¡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?
Gracias! Preguntas?
Vicente Guzman Xamarin Regional LeadMVP Windows Development
luciomsp@geeks.msvicenteguzman.mx@LucioMSP