introducción al desarrollo de aplicaciones xamarin
TRANSCRIPT
![Page 1: Introducción al desarrollo de aplicaciones Xamarin](https://reader033.vdocuments.net/reader033/viewer/2022061307/5876bea41a28ab6d5a8b45ff/html5/thumbnails/1.jpg)
XamarinIntroducción al Desarrollo móvil Cross Platform con Xamarin
Javier Suárez Ruiz
![Page 2: Introducción al desarrollo de aplicaciones Xamarin](https://reader033.vdocuments.net/reader033/viewer/2022061307/5876bea41a28ab6d5a8b45ff/html5/thumbnails/2.jpg)
Javier Suárez RuizDeveloper at Plain Concepts
Microsoft MVP
• Blog: http://geeks.ms/blogs/jsuarez• Email: [email protected]• Twitter: @jsuarezruiz
![Page 3: Introducción al desarrollo de aplicaciones Xamarin](https://reader033.vdocuments.net/reader033/viewer/2022061307/5876bea41a28ab6d5a8b45ff/html5/thumbnails/3.jpg)
Agenda• ¿Qué es Xamarin?• ¿Y por qué Xamarin?• ¿Cómo funciona?• Plugins• Preguntas y Respuestas
![Page 4: Introducción al desarrollo de aplicaciones Xamarin](https://reader033.vdocuments.net/reader033/viewer/2022061307/5876bea41a28ab6d5a8b45ff/html5/thumbnails/4.jpg)
¿Qué es Xamarin?
![Page 5: Introducción al desarrollo de aplicaciones Xamarin](https://reader033.vdocuments.net/reader033/viewer/2022061307/5876bea41a28ab6d5a8b45ff/html5/thumbnails/5.jpg)
Xamarin – Solución completa para el Desarrollo móvil
Develop Testear Build Distribuir Monitorear
![Page 6: Introducción al desarrollo de aplicaciones Xamarin](https://reader033.vdocuments.net/reader033/viewer/2022061307/5876bea41a28ab6d5a8b45ff/html5/thumbnails/6.jpg)
Código nativoiOS WindowsAndroid
Objective-CXcode
C#Visual Studio
JavaAndroid Studio
No se comparte código • Diferentes lenguajes & entornos de desarrollo • Diferentes equipos
![Page 7: Introducción al desarrollo de aplicaciones Xamarin](https://reader033.vdocuments.net/reader033/viewer/2022061307/5876bea41a28ab6d5a8b45ff/html5/thumbnails/7.jpg)
Escribe una vez, corre en todos
App Generator
LuaJavascript
ActionscriptHTML+CSS
Acceso limitado a APIs • Menos rendimiento • Experiencia de usuario más pobre
![Page 8: Introducción al desarrollo de aplicaciones Xamarin](https://reader033.vdocuments.net/reader033/viewer/2022061307/5876bea41a28ab6d5a8b45ff/html5/thumbnails/8.jpg)
El enfoque de Xamarin
Código común compartido • Acceso 100% a APIs nativas • Alto rendimiento
iOS C# UI
Windows C# UIAndroid C# UI
Shared C# Mobile
![Page 9: Introducción al desarrollo de aplicaciones Xamarin](https://reader033.vdocuments.net/reader033/viewer/2022061307/5876bea41a28ab6d5a8b45ff/html5/thumbnails/9.jpg)
Xamarin + Xamarin.Forms
Enfoque tradicional Con Xamarin.Forms:Más código compartido, nativo
iOS C# UI
Windows C# UIAndroid C# UI
Shared C# Backend
Shared UI Code
Shared C# Backend
![Page 10: Introducción al desarrollo de aplicaciones Xamarin](https://reader033.vdocuments.net/reader033/viewer/2022061307/5876bea41a28ab6d5a8b45ff/html5/thumbnails/10.jpg)
El enfoque de Xamarin
Código común compartido • Acceso 100% a APIs nativas • Alto rendimiento
iOS C# UI
Windows C# UIAndroid C# UI
Shared C# Mobile
C# Server
Linux/MonoCoreCLRAzure
Shared C# Client/Server
![Page 11: Introducción al desarrollo de aplicaciones Xamarin](https://reader033.vdocuments.net/reader033/viewer/2022061307/5876bea41a28ab6d5a8b45ff/html5/thumbnails/11.jpg)
Demo Primeras AppsHola Mundo!
![Page 12: Introducción al desarrollo de aplicaciones Xamarin](https://reader033.vdocuments.net/reader033/viewer/2022061307/5876bea41a28ab6d5a8b45ff/html5/thumbnails/12.jpg)
¿Y por qué Xamarin?
![Page 13: Introducción al desarrollo de aplicaciones Xamarin](https://reader033.vdocuments.net/reader033/viewer/2022061307/5876bea41a28ab6d5a8b45ff/html5/thumbnails/13.jpg)
Xamarin ahora gratis e incluido en
Visual Studio
![Page 14: Introducción al desarrollo de aplicaciones Xamarin](https://reader033.vdocuments.net/reader033/viewer/2022061307/5876bea41a28ab6d5a8b45ff/html5/thumbnails/14.jpg)
Rendimiento nativo
Xamarin.iOS usa la compilación Ahead Of Time (AOT) para crear un binario ARM para la Apple’s App Store.
Xamarin.Android toma ventaja de la compilación Just In Time (JIT) en dispositivos Android.
![Page 15: Introducción al desarrollo de aplicaciones Xamarin](https://reader033.vdocuments.net/reader033/viewer/2022061307/5876bea41a28ab6d5a8b45ff/html5/thumbnails/15.jpg)
Open Source – open.xamarin.com
![Page 16: Introducción al desarrollo de aplicaciones Xamarin](https://reader033.vdocuments.net/reader033/viewer/2022061307/5876bea41a28ab6d5a8b45ff/html5/thumbnails/16.jpg)
Open Source• Xamarin.iOS• Xamarin.Mac• Xamarin.Android• Xamarin.Forms• Bindings & Plugins
• Cómo arrancar• Guías de contribución
![Page 17: Introducción al desarrollo de aplicaciones Xamarin](https://reader033.vdocuments.net/reader033/viewer/2022061307/5876bea41a28ab6d5a8b45ff/html5/thumbnails/17.jpg)
C# mola
Y lo sabes!
![Page 18: Introducción al desarrollo de aplicaciones Xamarin](https://reader033.vdocuments.net/reader033/viewer/2022061307/5876bea41a28ab6d5a8b45ff/html5/thumbnails/18.jpg)
C# molaLINQ
XML
Gestión de eventos y delegados
![Page 19: Introducción al desarrollo de aplicaciones Xamarin](https://reader033.vdocuments.net/reader033/viewer/2022061307/5876bea41a28ab6d5a8b45ff/html5/thumbnails/19.jpg)
Async/Await
Código más simple, mantenimiento
![Page 20: Introducción al desarrollo de aplicaciones Xamarin](https://reader033.vdocuments.net/reader033/viewer/2022061307/5876bea41a28ab6d5a8b45ff/html5/thumbnails/20.jpg)
Android ItemClick, ¿ves diferencias? C# con XamarinJava
C# & Async con Xamarin
![Page 21: Introducción al desarrollo de aplicaciones Xamarin](https://reader033.vdocuments.net/reader033/viewer/2022061307/5876bea41a28ab6d5a8b45ff/html5/thumbnails/21.jpg)
¿Cómo funciona es Xamarin?
![Page 22: Introducción al desarrollo de aplicaciones Xamarin](https://reader033.vdocuments.net/reader033/viewer/2022061307/5876bea41a28ab6d5a8b45ff/html5/thumbnails/22.jpg)
Windows APIsMicrosoft.Phone Microsoft.Networking Windows.Storage Windows.Foundation Microsoft.Devices
System.Data System.Windows System.Numerics System.Core System.ServiceModel
System.Net System System.IO System.Linq System.Xml
![Page 23: Introducción al desarrollo de aplicaciones Xamarin](https://reader033.vdocuments.net/reader033/viewer/2022061307/5876bea41a28ab6d5a8b45ff/html5/thumbnails/23.jpg)
iOS – Acceso al 100% de las APIs
MapKit UIKit iBeacon CoreGraphics CoreMotion
System.Data System.Windows System.Numerics System.Core System.ServiceModel
System.Net System System.IO System.Linq System.Xml
![Page 24: Introducción al desarrollo de aplicaciones Xamarin](https://reader033.vdocuments.net/reader033/viewer/2022061307/5876bea41a28ab6d5a8b45ff/html5/thumbnails/24.jpg)
Android – Acceso al 100%de las APIs
Text-to-speech ActionBar Printing Framework Renderscript NFC
System.Data System.Windows System.Numerics System.Core System.ServiceModel
System.Net System System.IO System.Linq System.Xml
![Page 25: Introducción al desarrollo de aplicaciones Xamarin](https://reader033.vdocuments.net/reader033/viewer/2022061307/5876bea41a28ab6d5a8b45ff/html5/thumbnails/25.jpg)
La clave, compartir código
![Page 26: Introducción al desarrollo de aplicaciones Xamarin](https://reader033.vdocuments.net/reader033/viewer/2022061307/5876bea41a28ab6d5a8b45ff/html5/thumbnails/26.jpg)
1 libreríaMúltiples PlatformasIncluidas:Xamarin.iOS y Xamarin.Android
Portable Class Libraries
![Page 27: Introducción al desarrollo de aplicaciones Xamarin](https://reader033.vdocuments.net/reader033/viewer/2022061307/5876bea41a28ab6d5a8b45ff/html5/thumbnails/27.jpg)
Estadísticas de código compartido
Mac
iOS
Android
Windows Phone
iCircuit Touch Draw
86%
14%
72%
28%
70%
30%
61%
39%
88%
12%
76%
24%
90%
10%
![Page 28: Introducción al desarrollo de aplicaciones Xamarin](https://reader033.vdocuments.net/reader033/viewer/2022061307/5876bea41a28ab6d5a8b45ff/html5/thumbnails/28.jpg)
Demo Compartir códigoMVVM y uso de servicios
![Page 29: Introducción al desarrollo de aplicaciones Xamarin](https://reader033.vdocuments.net/reader033/viewer/2022061307/5876bea41a28ab6d5a8b45ff/html5/thumbnails/29.jpg)
La comunidad
Plugins
![Page 30: Introducción al desarrollo de aplicaciones Xamarin](https://reader033.vdocuments.net/reader033/viewer/2022061307/5876bea41a28ab6d5a8b45ff/html5/thumbnails/30.jpg)
Shared C# Backend
![Page 31: Introducción al desarrollo de aplicaciones Xamarin](https://reader033.vdocuments.net/reader033/viewer/2022061307/5876bea41a28ab6d5a8b45ff/html5/thumbnails/31.jpg)
Código específico de plataforma¿Qué ocurre si necesitamos accede a características específicas de la plataforma?
UI+APIs UI + APIsUI + APIs
BateríaGPSLámparaNotificationesSettingsText To Speech
BateríaGPSLámparaNotificationesSettingsText To Speech
BateríaGPSLámparaNotificationesSettingsText To Speech
![Page 32: Introducción al desarrollo de aplicaciones Xamarin](https://reader033.vdocuments.net/reader033/viewer/2022061307/5876bea41a28ab6d5a8b45ff/html5/thumbnails/32.jpg)
TextToSpeech
Speak(“Hello World”);
AVSpeechSynthesizer SpeechSynthesizer
![Page 33: Introducción al desarrollo de aplicaciones Xamarin](https://reader033.vdocuments.net/reader033/viewer/2022061307/5876bea41a28ab6d5a8b45ff/html5/thumbnails/33.jpg)
PluginsXamarin
Common API
github.com/xamarin/plugins
![Page 34: Introducción al desarrollo de aplicaciones Xamarin](https://reader033.vdocuments.net/reader033/viewer/2022061307/5876bea41a28ab6d5a8b45ff/html5/thumbnails/34.jpg)
Crear y consumir pluginsAccediendo a la plataforma
![Page 35: Introducción al desarrollo de aplicaciones Xamarin](https://reader033.vdocuments.net/reader033/viewer/2022061307/5876bea41a28ab6d5a8b45ff/html5/thumbnails/35.jpg)
App “real”Mapas, cámara, navegación, diálogos, servicio web, ¿suena bien?
![Page 36: Introducción al desarrollo de aplicaciones Xamarin](https://reader033.vdocuments.net/reader033/viewer/2022061307/5876bea41a28ab6d5a8b45ff/html5/thumbnails/36.jpg)
Q&A
![Page 37: Introducción al desarrollo de aplicaciones Xamarin](https://reader033.vdocuments.net/reader033/viewer/2022061307/5876bea41a28ab6d5a8b45ff/html5/thumbnails/37.jpg)
Braulio DíezFreelancer formacion.lemoncode.net
Javier SuárezPlain Concepts
Carlos Fernández
Plain Concepts