SlideShare una empresa de Scribd logo
1 de 30
#xantarDev
Xantar Dev I Edition
#xantarDev
David Gonzalo
Developer .NET
@dagope
Xamarin un mono entre
plataformas
#xantarDev#xantarDev
muchas gracias
#xantarDev
Agenda
Plataformas de desarrollo movil
Que es Xamarin?
Xamarin a escena
demo
Xamarin Forms
demo
#xantarDev#xantarDev
Desarrollador en tecnologías Microsoft
@dagope
linkedin.com/in/dagope
David Gonzalo
#xantarDev
Actuales plataformas móviles
Android
Java
XML
IOS
Swift / Objective-C
Storyboards
Windows
C#
XAML
#xantarDev
Híbridas
#xantarDev
Que es Xamarin?
#xantarDev
Xamarin a escena
C#
compartir código
rendimiento nativa
UI nativa
Ventajas
#xantarDev
Todo lo que puedas hacer en Swift,
Objectiv-C o Java lo puedes hacer
en C# con Xamarin
#xantarDev
Xamarin a escena
Desventajas
no comparte UI
curva aprendizaje
precio
#xantarDev
Xamarin for everyone
+
#xantarDev
Xamarin for everyone
#xantarDev
Por donde empezar: IDE
Xamarin Studio Visual Studio
(mac OS X / Windows)
#xantarDev
Requisitos
#xantarDev
Xamarin.Android Xamarin.iOS Xamarin.Windows
UI, App layer
Mi proyecto, mi estructura:
UI, App layer UI, App layer
Models
Services layer
Data layer
Business layer
Data Access layer
#xantarDev
Cómo comparto código
Shared ProjectProject PCL
#xantarDev
PCL
#xantarDev
Demo
#xantarDev
Que es Xamarin Forms?
Escribir una vez, compartir en
todos
Compartir UI
#xantarDev
¿Xamarin y Xamarin Forms?
#xantarDev
Xamarin Forms
Apps basadas en formularios
Apps con poca dependencia de la plataforma
Curva de aprendizaje mínima
En constante evolución
#xantarDev
Demo
#xantarDev
XAML Previewer en tiempo diseño
#xantarDev
Xamarin Test Cloud
Testing contra más de 2k dispositivos
Xamarin UITest
#xantarDev
Resumiendo
Xamarin como alternativa
Herramienta en constante evolución
Gratuita
#xantarDev
//Bonus level
open.xamarin.com
#xantarDev
¿Preguntas?
#xantarDev
¡Gracias!
David Gonzalo
@dagope
linkedin.com/in/dagope
#xantarDev
Xantar Dev I EditionXantar Dev I Edition
#xantarDev

Más contenido relacionado

La actualidad más candente

Crear Apps Multiplataforma compartiendo la mayor cantidad con Xamarin
Crear Apps Multiplataforma compartiendo la mayor cantidad con XamarinCrear Apps Multiplataforma compartiendo la mayor cantidad con Xamarin
Crear Apps Multiplataforma compartiendo la mayor cantidad con Xamarin
Javier Suárez Ruiz
 

La actualidad más candente (20)

Xamarin Dev Days - Introducción a Xamarin
Xamarin Dev Days - Introducción a XamarinXamarin Dev Days - Introducción a Xamarin
Xamarin Dev Days - Introducción a Xamarin
 
Conociendo el resto de ecosistema Xamarin
Conociendo el resto de ecosistema XamarinConociendo el resto de ecosistema Xamarin
Conociendo el resto de ecosistema Xamarin
 
Novedades Xamarin Connect(); 2017
Novedades Xamarin Connect(); 2017Novedades Xamarin Connect(); 2017
Novedades Xamarin Connect(); 2017
 
Visual Studio 2017 Launch Event Sevilla
Visual Studio 2017 Launch Event SevillaVisual Studio 2017 Launch Event Sevilla
Visual Studio 2017 Launch Event Sevilla
 
Arquitectura xamarin - Nuestra primera app
Arquitectura xamarin - Nuestra primera appArquitectura xamarin - Nuestra primera app
Arquitectura xamarin - Nuestra primera app
 
Introducción al desarrollo de apps móviles multiplataforma con Xamarin.Forms
Introducción al desarrollo de apps móviles multiplataforma con Xamarin.FormsIntroducción al desarrollo de apps móviles multiplataforma con Xamarin.Forms
Introducción al desarrollo de apps móviles multiplataforma con Xamarin.Forms
 
Introducción al desarrollo de apps móviles con Xamarin (Android & iOS)
Introducción al desarrollo de apps móviles con Xamarin (Android & iOS)Introducción al desarrollo de apps móviles con Xamarin (Android & iOS)
Introducción al desarrollo de apps móviles con Xamarin (Android & iOS)
 
Xamarin forms
Xamarin formsXamarin forms
Xamarin forms
 
Introduccion a Xamarin
Introduccion a XamarinIntroduccion a Xamarin
Introduccion a Xamarin
 
Codemotion 2015: UI Tests, Test Cloud y CI con Apps Xamarin
Codemotion 2015: UI Tests, Test Cloud y CI con Apps XamarinCodemotion 2015: UI Tests, Test Cloud y CI con Apps Xamarin
Codemotion 2015: UI Tests, Test Cloud y CI con Apps Xamarin
 
Microsoft Tech Summit - Taller Xamarin
Microsoft Tech Summit - Taller XamarinMicrosoft Tech Summit - Taller Xamarin
Microsoft Tech Summit - Taller Xamarin
 
Introduction to xamarin
Introduction to xamarinIntroduction to xamarin
Introduction to xamarin
 
Crear Apps Multiplataforma compartiendo la mayor cantidad con Xamarin
Crear Apps Multiplataforma compartiendo la mayor cantidad con XamarinCrear Apps Multiplataforma compartiendo la mayor cantidad con Xamarin
Crear Apps Multiplataforma compartiendo la mayor cantidad con Xamarin
 
Reconnect
ReconnectReconnect
Reconnect
 
Llevando tu startup a las tres principales plataformas móviles
Llevando tu startup a las tres principales plataformas móvilesLlevando tu startup a las tres principales plataformas móviles
Llevando tu startup a las tres principales plataformas móviles
 
Xamarin Live Player
Xamarin Live PlayerXamarin Live Player
Xamarin Live Player
 
Introducción a Xamarin
Introducción a XamarinIntroducción a Xamarin
Introducción a Xamarin
 
Taller Xamarin.Forms TLP Innova
Taller Xamarin.Forms TLP InnovaTaller Xamarin.Forms TLP Innova
Taller Xamarin.Forms TLP Innova
 
Testing de Apps Xamarin
Testing de Apps XamarinTesting de Apps Xamarin
Testing de Apps Xamarin
 
Extendiendo Xamarin.Forms con Custom Renders
Extendiendo Xamarin.Forms con Custom RendersExtendiendo Xamarin.Forms con Custom Renders
Extendiendo Xamarin.Forms con Custom Renders
 

Similar a Xamarin XantarDev I Edition

Dev Days 1 - Introducción a Xamarin
Dev Days 1 - Introducción a XamarinDev Days 1 - Introducción a Xamarin
Dev Days 1 - Introducción a Xamarin
Sergio Gasca García
 

Similar a Xamarin XantarDev I Edition (20)

Expo. moviles
Expo. movilesExpo. moviles
Expo. moviles
 
TechDay 2015 - C# y XAML: El poder de construir aplicaciones en todas las pla...
TechDay 2015 - C# y XAML: El poder de construir aplicaciones en todas las pla...TechDay 2015 - C# y XAML: El poder de construir aplicaciones en todas las pla...
TechDay 2015 - C# y XAML: El poder de construir aplicaciones en todas las pla...
 
Back2Learn MSFT UCuenca - Desarrollo de apps móviles multiplataforma con Xam...
Back2Learn MSFT UCuenca - Desarrollo de apps móviles multiplataforma con Xam...Back2Learn MSFT UCuenca - Desarrollo de apps móviles multiplataforma con Xam...
Back2Learn MSFT UCuenca - Desarrollo de apps móviles multiplataforma con Xam...
 
OpenSouthCode 2018: Taller Xamarin
OpenSouthCode 2018: Taller XamarinOpenSouthCode 2018: Taller Xamarin
OpenSouthCode 2018: Taller Xamarin
 
Crear Apps móviles multiplataforma con Xamarin compartiendo la mayor cantidad...
Crear Apps móviles multiplataforma con Xamarin compartiendo la mayor cantidad...Crear Apps móviles multiplataforma con Xamarin compartiendo la mayor cantidad...
Crear Apps móviles multiplataforma con Xamarin compartiendo la mayor cantidad...
 
introducción a xamarin
  introducción a xamarin  introducción a xamarin
introducción a xamarin
 
Dev Days 1 - Introducción a Xamarin
Dev Days 1 - Introducción a XamarinDev Days 1 - Introducción a Xamarin
Dev Days 1 - Introducción a Xamarin
 
PUE DAY 2017: Introducción a Xamarin
PUE DAY 2017: Introducción a XamarinPUE DAY 2017: Introducción a Xamarin
PUE DAY 2017: Introducción a Xamarin
 
Introducción al desarrollo de aplicaciones Xamarin
Introducción al desarrollo de aplicaciones XamarinIntroducción al desarrollo de aplicaciones Xamarin
Introducción al desarrollo de aplicaciones Xamarin
 
Como desarrollar aplicaciones moviles, que debemos tener en cuenta?
Como desarrollar aplicaciones moviles, que debemos tener en cuenta?Como desarrollar aplicaciones moviles, que debemos tener en cuenta?
Como desarrollar aplicaciones moviles, que debemos tener en cuenta?
 
Reconnect(); Sevilla - Introducción a Xamarin 4
Reconnect(); Sevilla - Introducción a Xamarin 4Reconnect(); Sevilla - Introducción a Xamarin 4
Reconnect(); Sevilla - Introducción a Xamarin 4
 
Charla GDG Madrid: Cordova + AngularJS + Ionic
Charla GDG Madrid: Cordova + AngularJS + IonicCharla GDG Madrid: Cordova + AngularJS + Ionic
Charla GDG Madrid: Cordova + AngularJS + Ionic
 
Plain Concepts Tech Day: Desarrollo de aplicaciones multiplataforma con Xamarin
Plain Concepts Tech Day:  Desarrollo de aplicaciones multiplataforma con XamarinPlain Concepts Tech Day:  Desarrollo de aplicaciones multiplataforma con Xamarin
Plain Concepts Tech Day: Desarrollo de aplicaciones multiplataforma con Xamarin
 
DotNet2018: Xamarin.Forms Everywhere!
DotNet2018: Xamarin.Forms Everywhere!DotNet2018: Xamarin.Forms Everywhere!
DotNet2018: Xamarin.Forms Everywhere!
 
Desarrollo de aplicaciones móviles (ios,android,windows phone) con .net
Desarrollo de aplicaciones móviles (ios,android,windows phone) con .netDesarrollo de aplicaciones móviles (ios,android,windows phone) con .net
Desarrollo de aplicaciones móviles (ios,android,windows phone) con .net
 
Introducción a Xamarin
Introducción a XamarinIntroducción a Xamarin
Introducción a Xamarin
 
COECYS - Introducción al desarrollo de apps multiplataforma con Xamarin.pptx
COECYS - Introducción al desarrollo de apps multiplataforma con Xamarin.pptxCOECYS - Introducción al desarrollo de apps multiplataforma con Xamarin.pptx
COECYS - Introducción al desarrollo de apps multiplataforma con Xamarin.pptx
 
Tech Club Asturias: Un vistazo al presente y futuro de Xamarin.Forms
Tech Club Asturias: Un vistazo al presente y futuro de Xamarin.FormsTech Club Asturias: Un vistazo al presente y futuro de Xamarin.Forms
Tech Club Asturias: Un vistazo al presente y futuro de Xamarin.Forms
 
Introducción a Xamarin
Introducción a XamarinIntroducción a Xamarin
Introducción a Xamarin
 
Reconnect2015
Reconnect2015Reconnect2015
Reconnect2015
 

Último (7)

Modelos comunicacionales. Antonella Castrataro.pdf
Modelos comunicacionales. Antonella Castrataro.pdfModelos comunicacionales. Antonella Castrataro.pdf
Modelos comunicacionales. Antonella Castrataro.pdf
 
Introducción a la liturgia de la Iglesia_Curso_1
Introducción a la liturgia de la Iglesia_Curso_1Introducción a la liturgia de la Iglesia_Curso_1
Introducción a la liturgia de la Iglesia_Curso_1
 
LA DECLAMACIÓN Y LOS RECURSOS NO VERBALES
LA DECLAMACIÓN Y LOS RECURSOS NO VERBALESLA DECLAMACIÓN Y LOS RECURSOS NO VERBALES
LA DECLAMACIÓN Y LOS RECURSOS NO VERBALES
 
Willer Gehizon Sanchez Mora
Willer Gehizon Sanchez MoraWiller Gehizon Sanchez Mora
Willer Gehizon Sanchez Mora
 
DIABETES MELLITUS trabajo de investigación
DIABETES MELLITUS trabajo de investigaciónDIABETES MELLITUS trabajo de investigación
DIABETES MELLITUS trabajo de investigación
 
EVOLUCION DE LA ENFERMERIA QUIRURGICA Y ETICA 1.pptx
EVOLUCION DE LA ENFERMERIA QUIRURGICA Y ETICA 1.pptxEVOLUCION DE LA ENFERMERIA QUIRURGICA Y ETICA 1.pptx
EVOLUCION DE LA ENFERMERIA QUIRURGICA Y ETICA 1.pptx
 
Día Mundial de la Seguridad y Salud en el Trabajo 2024
Día Mundial de la Seguridad y Salud en el Trabajo 2024Día Mundial de la Seguridad y Salud en el Trabajo 2024
Día Mundial de la Seguridad y Salud en el Trabajo 2024
 

Xamarin XantarDev I Edition

Notas del editor

  1. El desarrollo de plataformas móviles tiene un gran problema hoy en día. Cuando nos fijamos en el mercado actual, es fácil ver que hay tres actores principales. Apple con y OS, Google con Adnroid y Microsoft con Windows. IOS utiliza objective C o Swift, Android utiliza Java y Windows utiliza C# y XAML. Entre estas tres plataformas, casi no hay reutilización de código posible. Esto una pena, ya que en la mayoría de los casos, las empresas quieren cubrir dos o tres plataformas, por lo menos, así que tienen que escribir básicamente la misma funcionalidad varias veces por cada plataforma. Por lo general se empezará con el desarrollo de Android, cuando esté lista se comenzará con el desarrollo de IOs, luego con la tercera plataforma Windows. ¿Con esto que sucede? Que no terminamos duplicando nuestro código y no hemos reutilizado casi nada. Y sin embargo, una gran cantidad de la aplicación es idéntica entre unas y otras. (acceso de servicios, las clases del modelo, el acceso a los archivos… y así sucesivamente). Pero bueno, ¡podemos decir que nuestras aplicaciones son nativas! Las apps tienen todas las características de la plataforma, así como elementos de interfaz de usuario. En términos de rendimiento, son los mejores porque estamos escribiendo el código en la lengua nativa en cada app. La empresa tiene 3 equipos para el desarrollo de cada plataforma o bien un equipo que es la ostia y ha desbloqueado todos los logros del desarrollo móvil, su ego está por las nubes y ya ha pueden agregar nuevas las habilidades en LinkedIn. Pero todo este logro.. tiene la gran desventaja de ser caro. ¿Cuanto código has reutilizado? CERO Y ahora.. cual es el coste de implementar un simple cambio?? Pues el coste lo multiplicas por tres!! Siempre y cuando no se deje alguna plataforma de lado como sucede con Windows. En temas de mantenimiento de reparación de un bug, sucede lo mismo. Tienes que arreglarlo en las tres. Esto para las empresas no es que sea muy agradable. Que opciones hay?
  2. Pues tenemos HTML+CSS+JS como Iónic o Cordova. En el que básicamente costruyes un sitio web movil encapsulado en un paquete de aplicación que le permite utilizar algunas características nativas del SO. Con esto ganamos claramente en que escribimos el código una vez y lo compartimos para las tres. Pero esto tiene desventajas. El rendimiento no es perfecto. No olvidemos que es un sitio web por lo que el código no es nativo y no es perfecto. Otra desventaja clara es que no siempre se tienen acceso a todas las características nativas lo cual puede que no se adapte a la solución que necesitas. Pero vamos esta opción ahorrará mucho tiempo y dinero. Siempre y cuando se adapte al desarrollo que queremos realizar.
  3. Xamarin es una compañía establecida en mayo de 2011 de la plataforma de por los ingenieros que crearon Mono, una implementación libre desarrollo .NET para dispositivos Android, iOS y GNU/Linux. Xamarin trata de combinar lo mejor de ambos mundos. Usando xamarin vamos a tener apps nativas (con acceso a todas las características nativas y controles de interfaz). Y podremos reutilizar el código entre las 2 plataformas. Y además! Un solo lenguaje! C# por lo que si en tu empresa tienes un equipo de desarrollo en .NET lo que ya tienen adelantado.
  4. C# para todo Covertura del código 100% en IOS, Android yWindows
  5. No todo es un camino de rosas: Hay que dejar claro que hace realmente Xamarin. - No se comparte la UI (excepto en forms): Es decir, tenemos los XML para Androd, los storyboards para IOs y XAML para WindowsPhone. Por lo que la interfaz de usuario tendremos que igualmente construir una por cada plataforma (lógico, de lo contrario no podríamos acceder a todos los elementos de la interfaz nativa). -Curva de aprendizaje puede ser un poco costosa. Estamos desarrollando para 3 plataformas por lo que es bastante esencial conocer las 3 y sus características. Como se navega en Android, el ciclo de ejecución de una actividad, y lo mismo para IOs y Windows. -Precio: Ei espera… esto ahora es gratis! Desde la compra de Microsoft por Xamarin ahora es completamente gratis utilizarlo. Tienes licencia totalmente gratuita incluida con Visual Studio Community. Lo único que te costará dinero será tener tu Mac y pagar la licencia de desarrollo de 99$ anuales. Para Windows es gratuita y para Android son 15$ de por vida
  6. PCL: código embebido Refactorización fácilmente referenciado Demo con un proyecto usando PCL y tirando Windows y Android Shared Project: código compartido más felixibilidad clausulas precompiladas Misma demo pero usando PCL y tirando Windows y Android
  7. Estructura básica de como sería usar un PCL referencando a los diferentes proyectos e implementando las interfaces de dependencias para acceder a código específico de cada pltaforma, como puede ser acceso al lector de huella, sensores.. Etc..
  8. Demo PCL: - XantarDevPCL 1- Crear AppBlank PCL 2- Agregar App Universal Windows y agregarle referencia del PCL 3- Crear class Vermut 4- Crear class ServiceVermut 5- Crear metodo en servicio 6- llamar desde pltaformas Demo Shared: - DemoHappiness (xamarin cognitive): 1- Crear App Blank Shared 2- Agregar referencias de la shared en cada proyecto 3- Agregar referencia al project Oxford 4- compilar 5- Modificar main en android 6- modificar ui Demo Xamarin Forms: - Happinsess compartida