Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

Crear Apps móviles multiplataforma con Xamarin compartiendo la mayor cantidad de código

2.272 visualizaciones

Publicado el

Nuestro objetivo como desarrolladores es crear aplicaciones útil y atractivas pero sobretodo perfectamente funcionales. Para poder lograr ese objetivo es sin duda muy importante la arquitectura aplicada a la App. En esta sesión repasaremos el patrón MVVM aplicándolo a una aplicación Xamarin en cada una de las plataformas paso a paso así como la cantidad de código que se puede llegar a compartir entre plataformas.

Publicado en: Móvil
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Crear Apps móviles multiplataforma con Xamarin compartiendo la mayor cantidad de código

  1. 1. CREANDO APPS COMPARTIENDO AL MÁXIMO Estructura, trucos y otros aspectos de interes con el objetivo de compartir la mayor cantidad de código possible entre plataformas.
  2. 2. COMPARTIR AL MÁXIMO AVANTE . . Javier Suárez Microsoft MVP Windows Platform Development • Blog: http://geeks.ms/blogs/jsuarez • Email: javiersuarezruiz@hotmail.com • Twitter: @jsuarezruiz
  3. 3. COMPARTIR AL MÁXIMO AVANTE . . EL PROBLEMA Creas la misma App varias veces
  4. 4. COMPARTIR AL MÁXIMO AVANTE . . COMPARATIVA DE PLATAFORMAS MÓVILES NATIV IDE Lenguaje Vistas iOS Android Windows Phone Xcode Android Studio Visual Studio ObjectiveC o Swift Java C# Storyboard AXML XAML MVC MVC MVVMPatrón diseño
  5. 5. COMPARTIR AL MÁXIMO AVANTE . . ¿Qué podemos compartir con este planteamiento?
  6. 6. COMPARTIR AL MÁXIMO AVANTE . .
  7. 7. COMPARTIR AL MÁXIMO AVANTE . . El enfoque de Xamarin Con Xamarin.Forms: Se comparte más, controles compartidos El enfoque tradicional de Xamarin Shared UI Code
  8. 8. COMPARTIR AL MÁXIMO AVANTE . .
  9. 9. COMPARTIR AL MÁXIMO AVANTE . . TÉCNICAS DE REUTILIZACIÓN DE CÓDIGO
  10. 10. COMPARTIR AL MÁXIMO AVANTE . . MVVM EN APLICACIONES UNIVERSALES Data Binding Comandos Interfaz de Usuario Lógica de Negocio Lógica de Negocio Lógica de Presentación
  11. 11. COMPARTIR AL MÁXIMO AVANTE . . ¿Y todo esto con una App “real”?
  12. 12. COMPARTIR AL MÁXIMO AVANTE . .
  13. 13. COMPARTIR AL MÁXIMO AVANTE . . Utilizando Xamarin Classic
  14. 14. COMPARTIR AL MÁXIMO AVANTE . . COMPARATIVA DE PLATAFORMAS MÓVILES XAMA IDE Lenguaje Vistas iOS Android Windows Phone Visual Studio Visual Studio Visual Studio C# C# C# Storyboard AXML XAML MVVM MVVM MVVMPatrón diseño
  15. 15. COMPARTIR AL MÁXIMO AVANTE . . MVVM View ViewModel Model get/set Propiedades Comandos Notifica cambios C# Models View View ViewModel ViewModel Model Model Cross Platform Específico de la Plataforma
  16. 16. COMPARTIR AL MÁXIMO AVANTE . . PORTABLE CLASS LIBRARY •1 Librería •Multiples Platformas •Incluyendo: •Xamarin.Android •Xamarin.iOS
  17. 17. COMPARTIR AL MÁXIMO AVANTE . . CARACTERÍSTICAS DE UNA PORTABLE CLASS LIBRARY • Código compartido centralizado • Se depura igual que si el código estuviese en un Proyecto específico. • Compartir Proyecto/Assembly • NuGet
  18. 18. COMPARTIR AL MÁXIMO AVANTE . . MVVMCross & PCL View ViewModel Model Propiedades Comandos Notifica cambios C# Model View View ViewModel ViewModel Model Model Cross Platform -PCL Específico de Plataforma
  19. 19. COMPARTIR AL MÁXIMO AVANTE . . DEMO Nuestra App utilizando MVVMCross
  20. 20. COMPARTIR AL MÁXIMO AVANTE . . Utilizando Xamarin.Forms
  21. 21. COMPARTIR AL MÁXIMO AVANTE . . COMPARATIVA DE PLATAFORMAS MÓVILES IDE Lenguaje Vistas iOS Android Windows Phone Visual Studio Visual Studio Visual Studio C# C# C# XAML XAML XAML MVVM MVVM MVVMPatrón diseño
  22. 22. COMPARTIR AL MÁXIMO AVANTE . . ARQUITECTURA DE APPS CON XAMARIN.FORMS View ViewModel Model Propiedades Comandos Notifica cambios C# Model View View ViewModel ViewModel Model Model Cross Platform –PCL o Shared
  23. 23. COMPARTIR AL MÁXIMO AVANTE . . DEMO Ahora utilizando Xamarin.Forms
  24. 24. COMPARTIR AL MÁXIMO AVANTE . . UTILIZANDO NATIVO Web Services Web Services Backend C# App Services Services Services View View View ViewModel Controller Controller App App Web Services Backend C# Web Services Backend C#
  25. 25. COMPARTIR AL MÁXIMO AVANTE . . UTILIZANDO XAMARIN CLASSIC Web Services Web Services Backend C# App Services Services Services Services Model View Model View View View
  26. 26. COMPARTIR AL MÁXIMO AVANTE . . UTILIZANDO XAMARIN.FORMS Web Services Web Services Backend C# App Services Services (Implementation) Services (Implementation) Services (Implementation) Model View Model View (Custom Render) View (Custom Render) View (Custom Render) View
  27. 27. COMPARTIR AL MÁXIMO AVANTE . . CONCLUSIONES RÁPIDAS 1. Siendo ordenado y siguiendo una serie de patrones podemos compartir entre el 65% y el 95% del código de una App móvil multiplataforma. 2. Xamarin.Forms no es siempre la solución más ideal dependiendo de las características del Proyecto.
  28. 28. COMPARTIR AL MÁXIMO AVANTE . . ¿PREGUNTAS y RESPUESTAS? Dudas? P&R
  29. 29. COMPARTIR AL MÁXIMO AVANTE . . GRACIAS a TODOS Por vuestro tiempo! Javier Suárez Microsoft MVP Windows Platform Development • Blog: http://geeks.ms/blogs/jsuarez • Email: javiersuarezruiz@hotmail.com • Twitter: @jsuarezruiz
  30. 30. COMPARTIR AL MÁXIMO AVANTE . . CREANDO APPS COMPARTIENDO AL MÁXIMOEstructura, trucos y otros aspectos de interes con el objetivo de compartir la mayor cantidad de código possible entre plataformas.

×