Experiencia con Xamarin en el mundo real de los proyectos.

Elbrinner Fernandes
Elbrinner FernandesAnalista Sharepoint at everis
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
1 of 20

Recommended

Xamarin Dev Days Madrid - Xamarin.Forms by
Xamarin Dev Days Madrid - Xamarin.FormsXamarin Dev Days Madrid - Xamarin.Forms
Xamarin Dev Days Madrid - Xamarin.FormsJavier Suárez Ruiz
4.4K views49 slides
re-Connect Madrid: Novedades Xamarin by
re-Connect Madrid: Novedades Xamarinre-Connect Madrid: Novedades Xamarin
re-Connect Madrid: Novedades XamarinJavier Suárez Ruiz
5.2K views40 slides
Xamarin by
XamarinXamarin
XamarinPablo Osorio
82 views12 slides
Back2Learn MSFT UCuenca - Desarrollo de apps móviles multiplataforma con Xam... by
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...Luis Beltran
149 views37 slides
Aumento de productividad, herramientas Xamarin by
Aumento de productividad, herramientas XamarinAumento de productividad, herramientas Xamarin
Aumento de productividad, herramientas XamarinJavier Suárez Ruiz
3.4K views60 slides
Microsoft Tech Summit - Taller Xamarin by
Microsoft Tech Summit - Taller XamarinMicrosoft Tech Summit - Taller Xamarin
Microsoft Tech Summit - Taller XamarinJavier Suárez Ruiz
4.5K views58 slides

More Related Content

What's hot

Introducción al desarrollo de apps móviles con Xamarin (Android & iOS) by
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
875 views22 slides
Arquitectura xamarin - Nuestra primera app by
Arquitectura xamarin - Nuestra primera appArquitectura xamarin - Nuestra primera app
Arquitectura xamarin - Nuestra primera appBorja García Cueto
1.2K views20 slides
Introducción a Xamarin utilizando MVVMCross by
Introducción a Xamarin utilizando MVVMCrossIntroducción a Xamarin utilizando MVVMCross
Introducción a Xamarin utilizando MVVMCrossJavier Suárez Ruiz
5.1K views80 slides
Xamarin Dev Days Madrid - Taller Xamarin by
Xamarin Dev Days Madrid - Taller XamarinXamarin Dev Days Madrid - Taller Xamarin
Xamarin Dev Days Madrid - Taller XamarinJavier Suárez Ruiz
4.4K views54 slides
Introduccion a Xamarin by
Introduccion a XamarinIntroduccion a Xamarin
Introduccion a XamarinVicente Gerardo Guzman Lucio
1.6K views39 slides
Xamarin for Everyone by
Xamarin for EveryoneXamarin for Everyone
Xamarin for EveryoneJavier Suárez Ruiz
5K views11 slides

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

TechDay 2015 - C# y XAML: El poder de construir aplicaciones en todas las pla... by
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
2.7K views70 slides
OpenSouthCode 2018: Taller Xamarin by
OpenSouthCode 2018: Taller XamarinOpenSouthCode 2018: Taller Xamarin
OpenSouthCode 2018: Taller XamarinJavier Suárez Ruiz
5.6K views68 slides
Plain Concepts Tech Day: Desarrollo de aplicaciones multiplataforma con Xamarin by
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 XamarinJavier Suárez Ruiz
3.7K views48 slides
Llevando tu startup a las tres principales plataformas móviles by
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óvilesJosué Yeray Julián Ferreiro
5K views35 slides
Introduccion-a-Xamarin-y-Xamarin.Forms_1.pdf by
Introduccion-a-Xamarin-y-Xamarin.Forms_1.pdfIntroduccion-a-Xamarin-y-Xamarin.Forms_1.pdf
Introduccion-a-Xamarin-y-Xamarin.Forms_1.pdfEliasChoque14
1 view16 slides
dotNetMálaga - Taller Xamarin by
dotNetMálaga - Taller XamarindotNetMálaga - Taller Xamarin
dotNetMálaga - Taller XamarinJavier Suárez Ruiz
3.8K views57 slides

Similar to 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... by Sorey García
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ía2.7K views
Plain Concepts Tech Day: Desarrollo de aplicaciones multiplataforma con Xamarin by Javier Suárez Ruiz
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 Ruiz3.7K views
Introduccion-a-Xamarin-y-Xamarin.Forms_1.pdf by EliasChoque14
Introduccion-a-Xamarin-y-Xamarin.Forms_1.pdfIntroduccion-a-Xamarin-y-Xamarin.Forms_1.pdf
Introduccion-a-Xamarin-y-Xamarin.Forms_1.pdf
EliasChoque141 view
Desarrollo Móvil con Android (...y Firebase) by Armando Picón Z.
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.282 views
Evento Bolivia - Fundamentos de Xamarin - Desarrollo de apps moviles multipla... by Luis Beltran
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 Beltran227 views
6 Lenguajes para dispositivos móviles by RAUL Velez
6 Lenguajes para dispositivos móviles 6 Lenguajes para dispositivos móviles
6 Lenguajes para dispositivos móviles
RAUL Velez19.5K views
Azure Storage y Xamarin - Tec Tianguistenco by enriqueaguilar
Azure Storage y Xamarin - Tec TianguistencoAzure Storage y Xamarin - Tec Tianguistenco
Azure Storage y Xamarin - Tec Tianguistenco
enriqueaguilar60 views
Xamarin Fest Santo Domingo ( introduccion) by Yhorby Matias
Xamarin  Fest Santo Domingo ( introduccion)Xamarin  Fest Santo Domingo ( introduccion)
Xamarin Fest Santo Domingo ( introduccion)
Yhorby Matias375 views
Cognitive Services y Xamarin - Tec Purísima by enriqueaguilar
Cognitive Services y Xamarin - Tec PurísimaCognitive Services y Xamarin - Tec Purísima
Cognitive Services y Xamarin - Tec Purísima
enriqueaguilar85 views
COECYS - Introducción al desarrollo de apps multiplataforma con Xamarin.pptx by Luis Beltran
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 Beltran167 views
NetRaf 2017 - La plataforma .NET en el 2017 by Diego Bersano
NetRaf 2017 - La plataforma .NET en el 2017NetRaf 2017 - La plataforma .NET en el 2017
NetRaf 2017 - La plataforma .NET en el 2017
Diego Bersano7.3K views
MuleSoft Madrid Meetup #2 slides 29th January 2020 by Ieva Navickaite
MuleSoft Madrid Meetup #2 slides 29th January 2020MuleSoft Madrid Meetup #2 slides 29th January 2020
MuleSoft Madrid Meetup #2 slides 29th January 2020
Ieva Navickaite553 views

Recently uploaded

MasterMind.pdf by
MasterMind.pdfMasterMind.pdf
MasterMind.pdfrtovarfernandez
18 views5 slides
Operations & Data Graph by
Operations & Data GraphOperations & Data Graph
Operations & Data GraphNeo4j
42 views25 slides
Aws Community Day Guatemala Criptografia con AWS KMS by
Aws Community Day Guatemala Criptografia con AWS KMSAws Community Day Guatemala Criptografia con AWS KMS
Aws Community Day Guatemala Criptografia con AWS KMSMario IC
26 views42 slides
Peña_Anaya_TAREA Reportes Maestro - Detalle con el uso de AJAX.pptx by
Peña_Anaya_TAREA Reportes Maestro - Detalle con el uso de AJAX.pptxPeña_Anaya_TAREA Reportes Maestro - Detalle con el uso de AJAX.pptx
Peña_Anaya_TAREA Reportes Maestro - Detalle con el uso de AJAX.pptxMOISESPENAANAYA
6 views8 slides
La Guía Definitiva para una Actualización Exitosa a Alfresco 23.1 by
La Guía Definitiva para una Actualización Exitosa a Alfresco 23.1La Guía Definitiva para una Actualización Exitosa a Alfresco 23.1
La Guía Definitiva para una Actualización Exitosa a Alfresco 23.1Angel Borroy López
6 views22 slides
Tecnologia (3).pdf by
Tecnologia (3).pdfTecnologia (3).pdf
Tecnologia (3).pdfnosi6702
7 views15 slides

Recently uploaded(8)

Operations & Data Graph by Neo4j
Operations & Data GraphOperations & Data Graph
Operations & Data Graph
Neo4j42 views
Aws Community Day Guatemala Criptografia con AWS KMS by Mario IC
Aws Community Day Guatemala Criptografia con AWS KMSAws Community Day Guatemala Criptografia con AWS KMS
Aws Community Day Guatemala Criptografia con AWS KMS
Mario IC26 views
Peña_Anaya_TAREA Reportes Maestro - Detalle con el uso de AJAX.pptx by MOISESPENAANAYA
Peña_Anaya_TAREA Reportes Maestro - Detalle con el uso de AJAX.pptxPeña_Anaya_TAREA Reportes Maestro - Detalle con el uso de AJAX.pptx
Peña_Anaya_TAREA Reportes Maestro - Detalle con el uso de AJAX.pptx
MOISESPENAANAYA6 views
La Guía Definitiva para una Actualización Exitosa a Alfresco 23.1 by Angel Borroy López
La Guía Definitiva para una Actualización Exitosa a Alfresco 23.1La Guía Definitiva para una Actualización Exitosa a Alfresco 23.1
La Guía Definitiva para una Actualización Exitosa a Alfresco 23.1
Tecnologia (3).pdf by nosi6702
Tecnologia (3).pdfTecnologia (3).pdf
Tecnologia (3).pdf
nosi67027 views
Tecnologia (1).pdf by nosi6702
Tecnologia (1).pdfTecnologia (1).pdf
Tecnologia (1).pdf
nosi67029 views

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