Introducción al desarrollo de aplicaciones Xamarin
-
Author
javier-suarez-ruiz -
Category
Technology
-
view
1.996 -
download
1
Embed Size (px)
Transcript of Introducción al desarrollo de aplicaciones Xamarin

XamarinIntroducción al Desarrollo móvil Cross Platform con Xamarin
Javier Suárez Ruiz

Javier Suárez RuizDeveloper at Plain Concepts
Microsoft MVP
• Blog: http://geeks.ms/blogs/jsuarez• Email: [email protected]• Twitter: @jsuarezruiz

Agenda• ¿Qué es Xamarin?• ¿Y por qué Xamarin?• ¿Cómo funciona?• Plugins• Preguntas y Respuestas

¿Qué es Xamarin?

Xamarin – Solución completa para el Desarrollo móvil
Develop Testear Build Distribuir Monitorear

Código nativoiOS WindowsAndroid
Objective-CXcode
C#Visual Studio
JavaAndroid Studio
No se comparte código • Diferentes lenguajes & entornos de desarrollo • Diferentes equipos

Escribe una vez, corre en todos
App Generator
LuaJavascript
ActionscriptHTML+CSS
Acceso limitado a APIs • Menos rendimiento • Experiencia de usuario más pobre

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

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

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

Demo Primeras AppsHola Mundo!

¿Y por qué Xamarin?

Xamarin ahora gratis e incluido en
Visual Studio

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.

Open Source – open.xamarin.com

Open Source• Xamarin.iOS• Xamarin.Mac• Xamarin.Android• Xamarin.Forms• Bindings & Plugins
• Cómo arrancar• Guías de contribución

C# mola
Y lo sabes!

C# molaLINQ
XML
Gestión de eventos y delegados

Async/Await
Código más simple, mantenimiento

Android ItemClick, ¿ves diferencias? C# con XamarinJava
C# & Async con Xamarin

¿Cómo funciona es Xamarin?

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

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

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

La clave, compartir código

1 libreríaMúltiples PlatformasIncluidas:Xamarin.iOS y Xamarin.Android
Portable Class Libraries

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%

Demo Compartir códigoMVVM y uso de servicios

La comunidad
Plugins

Shared C# Backend

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

TextToSpeech
Speak(“Hello World”);
AVSpeechSynthesizer SpeechSynthesizer

PluginsXamarin
Common API
github.com/xamarin/plugins

Crear y consumir pluginsAccediendo a la plataforma

App “real”Mapas, cámara, navegación, diálogos, servicio web, ¿suena bien?

Q&A

Braulio DíezFreelancer formacion.lemoncode.net
Javier SuárezPlain Concepts
Carlos Fernández
Plain Concepts