SlideShare una empresa de Scribd logo
Experiencia en
proyectos reales con
Xamarin
Twitter del grupo - @Xamarin_Madrid #XamarinMadrid
Elbrinner Fernandes
www.elbrinner.com
@elbrinner
Contenido
 Experiencia con Xamarin en el mundo real. (’45’)
 Charla abierta sobre el futuro de Xamarin. (’15’)
 Definir temas para los próximos encuentros. Sobre Xamarin Madrid (’15’)
¿Classic o Forms?
• Mejor rendimiento
• Pixel perfecto
• Diseño complejo
• Presupuesto ajustado
• Debes llevar tus aplicaciones al mercado
rápidamente
• Su equipo interno tiene más experiencia
con .Net que con Android y IOS
La propuesta – Requisitos
 Desarrollar una aplicación nativa para IOS y Android para la tienda online X.
 La aplicación debe consumir los servicios actuales, pero debe está preparada
para que siga funcionando con cambios futuros en los servicios.
 Pantalla de registro de cliente
 Login
 Debe realizar búsqueda por lectores de barra
 Notificaciones push
 Menú dinámico
 Diseño pixel perfecto
 …
Formando el equipo de trabajo
Configurando el entorno para empezar
Entorno de desarrollo
Arquitectura del proyecto
• MVVM ¿solo o con frameworks?
• Inversión de control - IOC
• Inyección de dependencias -DI
• Mapper
• Tipo de proyecto (Compartido, PCL , .NET
Standard …)
• Sistema de navegación
• Paso de parámetros complejos entre viewmodel
• Patrón Facade
• Principios S.O.L.I.D
• Gestionar distintos entornos de desarrollos
• Seguridad
• Componentes de plataforma común
• …
ModernHttpClient
 Esta biblioteca trae las últimas bibliotecas de redes específicas de la
plataforma a las aplicaciones de Xamarin a través de un controlador
HttpClient personalizado. Escriba su aplicación usando System.Net.Http,
pero suelte esta biblioteca y se irá más rápido. Esto es posible gracias a dos
bibliotecas nativas:
 En iOS, NSURLSesión
 En Android, a través de OkHttp 1.5
Arquitectura – MVVM
 Nos permite dividir el trabajo de manera muy sencilla (diseñadores –
desarrolladores)
 El mantenimiento es más sencillo.
 Permite realizar Test a nuestro código.
 Permite una más fácil reutilización de código.
Principios S.O.L.I.D
 Es un acrónimo que representa 5 principios básicos del desarrollo orientado a
objetos para crear un desarrollo fácil de mantener y escalar. Consiguiendo
bajar el acoplamiento, alta cohesión y alta encapsulación.
 Estos son sus puntos clave:
 Responsabilidad única.
 Abierto a extensión, cerrado a modificación.
 Sustitución de Liskov, los objetos deben ser reemplazables por objetos
hijos sin alterar la funcionalidad.
 Segregación de interfaces.
 Depender de abstracciones no de implementaciones.
Componentes de plataforma
Patrón Facade
Mapper
Binding
Principales problemas con xamarin
 No es fácil encontrar perfiles en el mercado
 La aplicación es más pesada, ocupa más Mb que en nativo.
 Algunos errores de compilación son difíciles de comprender
 Muchas liberarías no están para Xamarin y tenemos que hacer un binding
Ventajas con xamarin
 Escribir una única vez la lógica de negocio para todas las plataformas
 Poder reaprovechar la lógica de negocio en futuras aplicaciones
 Mismo lenguaje C#
 Rendimiento nativo, elementos nativos, no hay diferencia para un usuario.
 Más barato que realizar la misma app de forma nativa para IOS y Android
 Se puede trabajar con un solo entorno de desarrollo
Preguntas y respuestas
¿Dudas?
Propuestas de charlas futuras
 Realizar un Binding de una librería de Android y IOS
 Crear un proyecto con Xamarin Forms usando inyección de dependencia
 Evento de un sábado completo explicando como desarrollar una app completa
desde 0
 Como mescla vistas nativas con forms en el mismo proyecto
 Uso de MvvmCross
 Uso de Prism
 Uso de renderers
 Accesibilidad con Xamarin Forms
 Layout compression
 Embeddinator-4000
 IOS 11
Gracias por venir

Más contenido relacionado

La actualidad más candente

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)
Software Guru
 
Arquitectura xamarin - Nuestra primera app
Arquitectura xamarin - Nuestra primera appArquitectura xamarin - Nuestra primera app
Arquitectura xamarin - Nuestra primera app
Borja García Cueto
 
Introducción a Xamarin utilizando MVVMCross
Introducción a Xamarin utilizando MVVMCrossIntroducción a Xamarin utilizando MVVMCross
Introducción a Xamarin utilizando MVVMCross
Javier Suárez Ruiz
 
Xamarin Dev Days Madrid - Taller Xamarin
Xamarin Dev Days Madrid - Taller XamarinXamarin Dev Days Madrid - Taller Xamarin
Xamarin Dev Days Madrid - Taller Xamarin
Javier Suárez Ruiz
 
Introduccion a Xamarin
Introduccion a XamarinIntroduccion a Xamarin
Introduccion a Xamarin
Vicente Gerardo Guzman Lucio
 
Xamarin for Everyone
Xamarin for EveryoneXamarin for Everyone
Xamarin for Everyone
Javier Suárez Ruiz
 
[dotNetSpain2016] Aumentando nuestra productividad en Xamarin
[dotNetSpain2016] Aumentando nuestra productividad en Xamarin[dotNetSpain2016] Aumentando nuestra productividad en Xamarin
[dotNetSpain2016] Aumentando nuestra productividad en Xamarin
Javier Suárez Ruiz
 
Introducción a Blazor
Introducción a BlazorIntroducción a Blazor
Introducción a Blazor
Vicente Gerardo Guzman Lucio
 
Introducción a Xamarin.Forms
Introducción a Xamarin.FormsIntroducción a Xamarin.Forms
Introducción a Xamarin.Forms
Josué Yeray Julián Ferreiro
 
Html, html5
Html, html5Html, html5
Html, html5
DiazRozo
 
12th Salesforce Developer Group meeting in Bilbao
12th Salesforce Developer Group meeting in Bilbao12th Salesforce Developer Group meeting in Bilbao
12th Salesforce Developer Group meeting in Bilbao
northspainsalesforcedevelopergroup
 

La actualidad más candente (11)

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)
 
Arquitectura xamarin - Nuestra primera app
Arquitectura xamarin - Nuestra primera appArquitectura xamarin - Nuestra primera app
Arquitectura xamarin - Nuestra primera app
 
Introducción a Xamarin utilizando MVVMCross
Introducción a Xamarin utilizando MVVMCrossIntroducción a Xamarin utilizando MVVMCross
Introducción a Xamarin utilizando MVVMCross
 
Xamarin Dev Days Madrid - Taller Xamarin
Xamarin Dev Days Madrid - Taller XamarinXamarin Dev Days Madrid - Taller Xamarin
Xamarin Dev Days Madrid - Taller Xamarin
 
Introduccion a Xamarin
Introduccion a XamarinIntroduccion a Xamarin
Introduccion a Xamarin
 
Xamarin for Everyone
Xamarin for EveryoneXamarin for Everyone
Xamarin for Everyone
 
[dotNetSpain2016] Aumentando nuestra productividad en Xamarin
[dotNetSpain2016] Aumentando nuestra productividad en Xamarin[dotNetSpain2016] Aumentando nuestra productividad en Xamarin
[dotNetSpain2016] Aumentando nuestra productividad en Xamarin
 
Introducción a Blazor
Introducción a BlazorIntroducción a Blazor
Introducción a Blazor
 
Introducción a Xamarin.Forms
Introducción a Xamarin.FormsIntroducción a Xamarin.Forms
Introducción a Xamarin.Forms
 
Html, html5
Html, html5Html, html5
Html, html5
 
12th Salesforce Developer Group meeting in Bilbao
12th Salesforce Developer Group meeting in Bilbao12th Salesforce Developer Group meeting in Bilbao
12th Salesforce Developer Group meeting in Bilbao
 

Similar a Experiencia con Xamarin en el mundo real de los proyectos.

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...
Sorey García
 
OpenSouthCode 2018: Taller Xamarin
OpenSouthCode 2018: Taller XamarinOpenSouthCode 2018: Taller Xamarin
OpenSouthCode 2018: Taller Xamarin
Javier Suárez Ruiz
 
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
Javier Suárez Ruiz
 
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
Josué Yeray Julián Ferreiro
 
Introduccion-a-Xamarin-y-Xamarin.Forms_1.pdf
Introduccion-a-Xamarin-y-Xamarin.Forms_1.pdfIntroduccion-a-Xamarin-y-Xamarin.Forms_1.pdf
Introduccion-a-Xamarin-y-Xamarin.Forms_1.pdf
EliasChoque14
 
dotNetMálaga - Taller Xamarin
dotNetMálaga - Taller XamarindotNetMálaga - Taller Xamarin
dotNetMálaga - Taller Xamarin
Javier Suárez Ruiz
 
DotNet2018: Xamarin.Forms Everywhere!
DotNet2018: Xamarin.Forms Everywhere!DotNet2018: Xamarin.Forms Everywhere!
DotNet2018: Xamarin.Forms Everywhere!
Javier Suárez Ruiz
 
Software en la actualidad
Software en la actualidadSoftware en la actualidad
Software en la actualidad
Raelyx Cordero
 
Desarrollo Móvil con Android (...y Firebase)
Desarrollo Móvil con Android (...y Firebase)Desarrollo Móvil con Android (...y Firebase)
Desarrollo Móvil con Android (...y Firebase)
Armando Picón Z.
 
Evento Bolivia - Fundamentos de Xamarin - Desarrollo de apps moviles multipla...
Evento Bolivia - Fundamentos de Xamarin - Desarrollo de apps moviles multipla...Evento Bolivia - Fundamentos de Xamarin - Desarrollo de apps moviles multipla...
Evento Bolivia - Fundamentos de Xamarin - Desarrollo de apps moviles multipla...
Luis Beltran
 
6 Lenguajes para dispositivos móviles
6 Lenguajes para dispositivos móviles 6 Lenguajes para dispositivos móviles
6 Lenguajes para dispositivos móviles
RAUL Velez
 
Azure Storage y Xamarin - Tec Tianguistenco
Azure Storage y Xamarin - Tec TianguistencoAzure Storage y Xamarin - Tec Tianguistenco
Azure Storage y Xamarin - Tec Tianguistenco
enriqueaguilar
 
Introduction to xamarin
Introduction to xamarinIntroduction to xamarin
Introduction to xamarin
Borja García Cueto
 
Xamarin Fest Santo Domingo ( introduccion)
Xamarin  Fest Santo Domingo ( introduccion)Xamarin  Fest Santo Domingo ( introduccion)
Xamarin Fest Santo Domingo ( introduccion)
Yhorby Matias
 
Cognitive Services y Xamarin - Tec Purísima
Cognitive Services y Xamarin - Tec PurísimaCognitive Services y Xamarin - Tec Purísima
Cognitive Services y Xamarin - Tec Purísima
enriqueaguilar
 
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
Luis Beltran
 
NetRaf 2017 - La plataforma .NET en el 2017
NetRaf 2017 - La plataforma .NET en el 2017NetRaf 2017 - La plataforma .NET en el 2017
NetRaf 2017 - La plataforma .NET en el 2017
Diego Bersano
 
primera aplicacion Xamarin.pptx
primera aplicacion Xamarin.pptxprimera aplicacion Xamarin.pptx
primera aplicacion Xamarin.pptx
TIRZOANTONIOMEDINACA
 
MuleSoft Madrid Meetup #2 slides 29th January 2020
MuleSoft Madrid Meetup #2 slides 29th January 2020MuleSoft Madrid Meetup #2 slides 29th January 2020
MuleSoft Madrid Meetup #2 slides 29th January 2020
Ieva Navickaite
 
Xamarin 360
Xamarin 360Xamarin 360
Xamarin 360
Germán Küber
 

Similar a Experiencia con Xamarin en el mundo real de los proyectos. (20)

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...
 
OpenSouthCode 2018: Taller Xamarin
OpenSouthCode 2018: Taller XamarinOpenSouthCode 2018: Taller Xamarin
OpenSouthCode 2018: Taller Xamarin
 
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
 
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
 
Introduccion-a-Xamarin-y-Xamarin.Forms_1.pdf
Introduccion-a-Xamarin-y-Xamarin.Forms_1.pdfIntroduccion-a-Xamarin-y-Xamarin.Forms_1.pdf
Introduccion-a-Xamarin-y-Xamarin.Forms_1.pdf
 
dotNetMálaga - Taller Xamarin
dotNetMálaga - Taller XamarindotNetMálaga - Taller Xamarin
dotNetMálaga - Taller Xamarin
 
DotNet2018: Xamarin.Forms Everywhere!
DotNet2018: Xamarin.Forms Everywhere!DotNet2018: Xamarin.Forms Everywhere!
DotNet2018: Xamarin.Forms Everywhere!
 
Software en la actualidad
Software en la actualidadSoftware en la actualidad
Software en la actualidad
 
Desarrollo Móvil con Android (...y Firebase)
Desarrollo Móvil con Android (...y Firebase)Desarrollo Móvil con Android (...y Firebase)
Desarrollo Móvil con Android (...y Firebase)
 
Evento Bolivia - Fundamentos de Xamarin - Desarrollo de apps moviles multipla...
Evento Bolivia - Fundamentos de Xamarin - Desarrollo de apps moviles multipla...Evento Bolivia - Fundamentos de Xamarin - Desarrollo de apps moviles multipla...
Evento Bolivia - Fundamentos de Xamarin - Desarrollo de apps moviles multipla...
 
6 Lenguajes para dispositivos móviles
6 Lenguajes para dispositivos móviles 6 Lenguajes para dispositivos móviles
6 Lenguajes para dispositivos móviles
 
Azure Storage y Xamarin - Tec Tianguistenco
Azure Storage y Xamarin - Tec TianguistencoAzure Storage y Xamarin - Tec Tianguistenco
Azure Storage y Xamarin - Tec Tianguistenco
 
Introduction to xamarin
Introduction to xamarinIntroduction to xamarin
Introduction to xamarin
 
Xamarin Fest Santo Domingo ( introduccion)
Xamarin  Fest Santo Domingo ( introduccion)Xamarin  Fest Santo Domingo ( introduccion)
Xamarin Fest Santo Domingo ( introduccion)
 
Cognitive Services y Xamarin - Tec Purísima
Cognitive Services y Xamarin - Tec PurísimaCognitive Services y Xamarin - Tec Purísima
Cognitive Services y Xamarin - Tec Purísima
 
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
 
NetRaf 2017 - La plataforma .NET en el 2017
NetRaf 2017 - La plataforma .NET en el 2017NetRaf 2017 - La plataforma .NET en el 2017
NetRaf 2017 - La plataforma .NET en el 2017
 
primera aplicacion Xamarin.pptx
primera aplicacion Xamarin.pptxprimera aplicacion Xamarin.pptx
primera aplicacion Xamarin.pptx
 
MuleSoft Madrid Meetup #2 slides 29th January 2020
MuleSoft Madrid Meetup #2 slides 29th January 2020MuleSoft Madrid Meetup #2 slides 29th January 2020
MuleSoft Madrid Meetup #2 slides 29th January 2020
 
Xamarin 360
Xamarin 360Xamarin 360
Xamarin 360
 

Experiencia con Xamarin en el mundo real de los proyectos.

  • 1. Experiencia en proyectos reales con Xamarin Twitter del grupo - @Xamarin_Madrid #XamarinMadrid Elbrinner Fernandes www.elbrinner.com @elbrinner
  • 2. Contenido  Experiencia con Xamarin en el mundo real. (’45’)  Charla abierta sobre el futuro de Xamarin. (’15’)  Definir temas para los próximos encuentros. Sobre Xamarin Madrid (’15’)
  • 3. ¿Classic o Forms? • Mejor rendimiento • Pixel perfecto • Diseño complejo • Presupuesto ajustado • Debes llevar tus aplicaciones al mercado rápidamente • Su equipo interno tiene más experiencia con .Net que con Android y IOS
  • 4. La propuesta – Requisitos  Desarrollar una aplicación nativa para IOS y Android para la tienda online X.  La aplicación debe consumir los servicios actuales, pero debe está preparada para que siga funcionando con cambios futuros en los servicios.  Pantalla de registro de cliente  Login  Debe realizar búsqueda por lectores de barra  Notificaciones push  Menú dinámico  Diseño pixel perfecto  …
  • 5. Formando el equipo de trabajo
  • 6. Configurando el entorno para empezar
  • 8. Arquitectura del proyecto • MVVM ¿solo o con frameworks? • Inversión de control - IOC • Inyección de dependencias -DI • Mapper • Tipo de proyecto (Compartido, PCL , .NET Standard …) • Sistema de navegación • Paso de parámetros complejos entre viewmodel • Patrón Facade • Principios S.O.L.I.D • Gestionar distintos entornos de desarrollos • Seguridad • Componentes de plataforma común • …
  • 9. ModernHttpClient  Esta biblioteca trae las últimas bibliotecas de redes específicas de la plataforma a las aplicaciones de Xamarin a través de un controlador HttpClient personalizado. Escriba su aplicación usando System.Net.Http, pero suelte esta biblioteca y se irá más rápido. Esto es posible gracias a dos bibliotecas nativas:  En iOS, NSURLSesión  En Android, a través de OkHttp 1.5
  • 10. Arquitectura – MVVM  Nos permite dividir el trabajo de manera muy sencilla (diseñadores – desarrolladores)  El mantenimiento es más sencillo.  Permite realizar Test a nuestro código.  Permite una más fácil reutilización de código.
  • 11. Principios S.O.L.I.D  Es un acrónimo que representa 5 principios básicos del desarrollo orientado a objetos para crear un desarrollo fácil de mantener y escalar. Consiguiendo bajar el acoplamiento, alta cohesión y alta encapsulación.  Estos son sus puntos clave:  Responsabilidad única.  Abierto a extensión, cerrado a modificación.  Sustitución de Liskov, los objetos deben ser reemplazables por objetos hijos sin alterar la funcionalidad.  Segregación de interfaces.  Depender de abstracciones no de implementaciones.
  • 16. Principales problemas con xamarin  No es fácil encontrar perfiles en el mercado  La aplicación es más pesada, ocupa más Mb que en nativo.  Algunos errores de compilación son difíciles de comprender  Muchas liberarías no están para Xamarin y tenemos que hacer un binding
  • 17. Ventajas con xamarin  Escribir una única vez la lógica de negocio para todas las plataformas  Poder reaprovechar la lógica de negocio en futuras aplicaciones  Mismo lenguaje C#  Rendimiento nativo, elementos nativos, no hay diferencia para un usuario.  Más barato que realizar la misma app de forma nativa para IOS y Android  Se puede trabajar con un solo entorno de desarrollo
  • 19. Propuestas de charlas futuras  Realizar un Binding de una librería de Android y IOS  Crear un proyecto con Xamarin Forms usando inyección de dependencia  Evento de un sábado completo explicando como desarrollar una app completa desde 0  Como mescla vistas nativas con forms en el mismo proyecto  Uso de MvvmCross  Uso de Prism  Uso de renderers  Accesibilidad con Xamarin Forms  Layout compression  Embeddinator-4000  IOS 11