SlideShare una empresa de Scribd logo
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.
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
COMPARTIR AL MÁXIMO
AVANTE
.
.
EL PROBLEMA
Creas la misma App
varias veces
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
COMPARTIR AL MÁXIMO
AVANTE
.
.
¿Qué podemos compartir
con este planteamiento?
COMPARTIR AL MÁXIMO
AVANTE
.
.
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
COMPARTIR AL MÁXIMO
AVANTE
.
.
COMPARTIR AL MÁXIMO
AVANTE
.
.
TÉCNICAS DE REUTILIZACIÓN
DE CÓDIGO
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
COMPARTIR AL MÁXIMO
AVANTE
.
.
¿Y todo esto con
una App “real”?
COMPARTIR AL MÁXIMO
AVANTE
.
.
COMPARTIR AL MÁXIMO
AVANTE
.
.
Utilizando Xamarin Classic
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
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
COMPARTIR AL MÁXIMO
AVANTE
.
.
PORTABLE CLASS LIBRARY
•1 Librería
•Multiples Platformas
•Incluyendo:
•Xamarin.Android
•Xamarin.iOS
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
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
COMPARTIR AL MÁXIMO
AVANTE
.
.
DEMO
Nuestra App utilizando MVVMCross
COMPARTIR AL MÁXIMO
AVANTE
.
.
Utilizando Xamarin.Forms
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
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
COMPARTIR AL MÁXIMO
AVANTE
.
.
DEMO
Ahora utilizando Xamarin.Forms
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#
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
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
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.
COMPARTIR AL MÁXIMO
AVANTE
.
.
¿PREGUNTAS y RESPUESTAS?
Dudas?
P&R
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
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.

Más contenido relacionado

PPTX
Desktop App Converter
Javier Suárez Ruiz
 
PPTX
Introducción al desarrollo de Apps en Windows 10
Javier Suárez Ruiz
 
PPTX
Crear Apps Multiplataforma compartiendo la mayor cantidad con Xamarin
Javier Suárez Ruiz
 
PPTX
Windows 10: Hel10 World! - Novedades XAML
Javier Suárez Ruiz
 
PPTX
Novedades en Visual Studio Online
Javier Suárez Ruiz
 
PPTX
Interfaces Adaptativas en Windows 10
Javier Suárez Ruiz
 
PPTX
Tus aplicaciones en pantalla grande con Xbox One
Javier Suárez Ruiz
 
PPTX
Reconnect(); Sevilla - Keynote
Javier Suárez Ruiz
 
Desktop App Converter
Javier Suárez Ruiz
 
Introducción al desarrollo de Apps en Windows 10
Javier Suárez Ruiz
 
Crear Apps Multiplataforma compartiendo la mayor cantidad con Xamarin
Javier Suárez Ruiz
 
Windows 10: Hel10 World! - Novedades XAML
Javier Suárez Ruiz
 
Novedades en Visual Studio Online
Javier Suárez Ruiz
 
Interfaces Adaptativas en Windows 10
Javier Suárez Ruiz
 
Tus aplicaciones en pantalla grande con Xbox One
Javier Suárez Ruiz
 
Reconnect(); Sevilla - Keynote
Javier Suárez Ruiz
 

La actualidad más candente (20)

PPTX
Adaptando Apps Xamarin.Forms a tabletas
Javier Suárez Ruiz
 
PPTX
Integración Continua con Apps Xamarin
Javier Suárez Ruiz
 
PPTX
Novedades de Xamarin 4
Javier Suárez Ruiz
 
PPTX
Universal Windows Platform Bridges
Javier Suárez Ruiz
 
PPTX
Windows 10: One SDK to rule them all
Javier Suárez Ruiz
 
PPTX
Introducción al desarrollo de apps móviles multiplataforma con Xamarin.Forms
Javier Suárez Ruiz
 
PPTX
Codemotion 2015: UI Tests, Test Cloud y CI con Apps Xamarin
Javier Suárez Ruiz
 
PPTX
Servicios Xamarin
Javier Suárez Ruiz
 
PPTX
Xamarin Dev Days Málaga 2017 - Apps conectadas con Azure
Javier Suárez Ruiz
 
PPTX
Introducción al desarrollo de aplicaciones Xamarin
Javier Suárez Ruiz
 
PPTX
Introducción a Xamarin utilizando MVVMCross
Javier Suárez Ruiz
 
PPTX
Introducción a Xamarin
Javier Suárez Ruiz
 
PPTX
Xamarin Dev Days - Introducción a Xamarin
Javier Suárez Ruiz
 
PPTX
Extendiendo Xamarin.Forms
Javier Suárez Ruiz
 
PPTX
Reconnect(); Sevilla - Universal Windows Platform
Javier Suárez Ruiz
 
PPTX
Publicación de Apps Universales
Javier Suárez Ruiz
 
PPTX
Herramientas para el desarrollo de Apps Universales
Javier Suárez Ruiz
 
PPTX
Xamarin REvolve 2016
Javier Suárez Ruiz
 
PPTX
Desarrollo para Microsoft Band con Xamarin
Javier Suárez Ruiz
 
PPTX
WinObjC: Windows Bridge para iOS
Javier Suárez Ruiz
 
Adaptando Apps Xamarin.Forms a tabletas
Javier Suárez Ruiz
 
Integración Continua con Apps Xamarin
Javier Suárez Ruiz
 
Novedades de Xamarin 4
Javier Suárez Ruiz
 
Universal Windows Platform Bridges
Javier Suárez Ruiz
 
Windows 10: One SDK to rule them all
Javier Suárez Ruiz
 
Introducción al desarrollo de apps móviles multiplataforma con Xamarin.Forms
Javier Suárez Ruiz
 
Codemotion 2015: UI Tests, Test Cloud y CI con Apps Xamarin
Javier Suárez Ruiz
 
Servicios Xamarin
Javier Suárez Ruiz
 
Xamarin Dev Days Málaga 2017 - Apps conectadas con Azure
Javier Suárez Ruiz
 
Introducción al desarrollo de aplicaciones Xamarin
Javier Suárez Ruiz
 
Introducción a Xamarin utilizando MVVMCross
Javier Suárez Ruiz
 
Introducción a Xamarin
Javier Suárez Ruiz
 
Xamarin Dev Days - Introducción a Xamarin
Javier Suárez Ruiz
 
Extendiendo Xamarin.Forms
Javier Suárez Ruiz
 
Reconnect(); Sevilla - Universal Windows Platform
Javier Suárez Ruiz
 
Publicación de Apps Universales
Javier Suárez Ruiz
 
Herramientas para el desarrollo de Apps Universales
Javier Suárez Ruiz
 
Xamarin REvolve 2016
Javier Suárez Ruiz
 
Desarrollo para Microsoft Band con Xamarin
Javier Suárez Ruiz
 
WinObjC: Windows Bridge para iOS
Javier Suárez Ruiz
 
Publicidad

Destacado (15)

PPTX
Conociendo el resto de ecosistema Xamarin
Javier Suárez Ruiz
 
PPTX
Xamarin Dev Days Madrid - Xamarin.Forms
Javier Suárez Ruiz
 
PPTX
Desarrollo de aplicaciones Windows Phone con Silverlight 8.1
Javier Suárez Ruiz
 
PPTX
Xamarin Dev Days Madrid - Taller Xamarin
Javier Suárez Ruiz
 
PPTX
re-Connect Madrid: Novedades Xamarin
Javier Suárez Ruiz
 
PPTX
Interfaces nativas Cross-Platform con Xamarin.Forms
Javier Suárez Ruiz
 
PPTX
Arquitectura en Aplicaciones Xamarin
Javier Suárez Ruiz
 
PPTX
dotNetMálaga - Taller Xamarin
Javier Suárez Ruiz
 
PPTX
Microsoft Tech Summit - Taller Xamarin
Javier Suárez Ruiz
 
PPTX
Xamarin University Sprint Fling 2016
Javier Suárez Ruiz
 
PPTX
SVQDC - Desarrollo de Apps apra Hololens
Javier Suárez Ruiz
 
PPTX
Introducción a Xamarin.Forms
Javier Suárez Ruiz
 
PPTX
Native cross-platform mobile apps with C# and Xamarin.Forms
Peter Major
 
PPTX
Windows Phone. Novedades Update 3
Javier Suárez Ruiz
 
PPTX
Descubriendo Windows Phone App Studio
Javier Suárez Ruiz
 
Conociendo el resto de ecosistema Xamarin
Javier Suárez Ruiz
 
Xamarin Dev Days Madrid - Xamarin.Forms
Javier Suárez Ruiz
 
Desarrollo de aplicaciones Windows Phone con Silverlight 8.1
Javier Suárez Ruiz
 
Xamarin Dev Days Madrid - Taller Xamarin
Javier Suárez Ruiz
 
re-Connect Madrid: Novedades Xamarin
Javier Suárez Ruiz
 
Interfaces nativas Cross-Platform con Xamarin.Forms
Javier Suárez Ruiz
 
Arquitectura en Aplicaciones Xamarin
Javier Suárez Ruiz
 
dotNetMálaga - Taller Xamarin
Javier Suárez Ruiz
 
Microsoft Tech Summit - Taller Xamarin
Javier Suárez Ruiz
 
Xamarin University Sprint Fling 2016
Javier Suárez Ruiz
 
SVQDC - Desarrollo de Apps apra Hololens
Javier Suárez Ruiz
 
Introducción a Xamarin.Forms
Javier Suárez Ruiz
 
Native cross-platform mobile apps with C# and Xamarin.Forms
Peter Major
 
Windows Phone. Novedades Update 3
Javier Suárez Ruiz
 
Descubriendo Windows Phone App Studio
Javier Suárez Ruiz
 
Publicidad

Similar a Crear Apps móviles multiplataforma con Xamarin compartiendo la mayor cantidad de código (20)

PPTX
OpenSouthCode 2018: Taller Xamarin
Javier Suárez Ruiz
 
PPTX
primera aplicacion Xamarin.pptx
TIRZOANTONIOMEDINACA
 
PPTX
Taller Xamarin Monkey Conf 2018
Javier Suárez Ruiz
 
PPTX
Evento Bolivia - Fundamentos de Xamarin - Desarrollo de apps moviles multipla...
Luis Beltran
 
PPTX
Semana Lambda - Fundamentos de Xamarin - Desarrollo de apps moviles multiplat...
Luis Beltran
 
PPTX
PUE DAY 2017: Introducción a Xamarin
Javier Suárez Ruiz
 
PPTX
Back2Learn MSFT UCuenca - Desarrollo de apps móviles multiplataforma con Xam...
Luis Beltran
 
PPTX
Xamarin Basics
Sergio Gasca García
 
PDF
Introduccion-a-Xamarin-y-Xamarin.Forms_1.pdf
EliasChoque14
 
PPTX
Xamarin fest
Germán Küber
 
PPTX
Codemotion 2017 - Taller Xamarin
Javier Suárez Ruiz
 
PDF
TechDay 2015 - C# y XAML: El poder de construir aplicaciones en todas las pla...
Sorey García
 
PPTX
Introduction to xamarin
Borja García Cueto
 
PPTX
COECYS - Introducción al desarrollo de apps multiplataforma con Xamarin.pptx
Luis Beltran
 
PPTX
Semanahhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
ErickCarlos14
 
PPTX
Llevando tu startup a las tres principales plataformas móviles
Josué Yeray Julián Ferreiro
 
PPTX
Introduccion a Xamarin
Vicente Gerardo Guzman Lucio
 
PPTX
Introduccion a xamarin
Humberto Jaimes
 
OpenSouthCode 2018: Taller Xamarin
Javier Suárez Ruiz
 
primera aplicacion Xamarin.pptx
TIRZOANTONIOMEDINACA
 
Taller Xamarin Monkey Conf 2018
Javier Suárez Ruiz
 
Evento Bolivia - Fundamentos de Xamarin - Desarrollo de apps moviles multipla...
Luis Beltran
 
Semana Lambda - Fundamentos de Xamarin - Desarrollo de apps moviles multiplat...
Luis Beltran
 
PUE DAY 2017: Introducción a Xamarin
Javier Suárez Ruiz
 
Back2Learn MSFT UCuenca - Desarrollo de apps móviles multiplataforma con Xam...
Luis Beltran
 
Xamarin Basics
Sergio Gasca García
 
Introduccion-a-Xamarin-y-Xamarin.Forms_1.pdf
EliasChoque14
 
Xamarin fest
Germán Küber
 
Codemotion 2017 - Taller Xamarin
Javier Suárez Ruiz
 
TechDay 2015 - C# y XAML: El poder de construir aplicaciones en todas las pla...
Sorey García
 
Introduction to xamarin
Borja García Cueto
 
COECYS - Introducción al desarrollo de apps multiplataforma con Xamarin.pptx
Luis Beltran
 
Semanahhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
ErickCarlos14
 
Llevando tu startup a las tres principales plataformas móviles
Josué Yeray Julián Ferreiro
 
Introduccion a Xamarin
Vicente Gerardo Guzman Lucio
 
Introduccion a xamarin
Humberto Jaimes
 

Más de Javier Suárez Ruiz (20)

PPTX
Cape Town MS Developer User Group: Xamarin Community Toolkit
Javier Suárez Ruiz
 
PPTX
DotNetDom: El futuro de Xamarin
Javier Suárez Ruiz
 
PPTX
Tech Club Asturias: Un vistazo al presente y futuro de Xamarin.Forms
Javier Suárez Ruiz
 
PPTX
Monkey Conf 2020: Xamarin Community Toolkit: More possibilities with Xamarin....
Javier Suárez Ruiz
 
PPTX
Monkey Conf 2020: .NET MAUI Handlers
Javier Suárez Ruiz
 
PPTX
Creando controles para Xamarin.Forms
Javier Suárez Ruiz
 
PPTX
Monkey Conf 2019: Presente y futuro de Xamarin.Forms
Javier Suárez Ruiz
 
PPTX
Crear interfaces de usuario atractivas con Xamarin.Forms
Javier Suárez Ruiz
 
PPTX
#XamarinUIJuly Summary
Javier Suárez Ruiz
 
PPTX
DotNet 2019: Optimizando Apps con Xamarin.Forms
Javier Suárez Ruiz
 
PPTX
Monkey Conf 2018: Conociendo Xamarin.Forms Shell
Javier Suárez Ruiz
 
PPTX
.Net Conf Sevilla 2018
Javier Suárez Ruiz
 
PPTX
Analizando interfaces de usuario avanzadas con Xamarin.Forms
Javier Suárez Ruiz
 
PPTX
DotNet2018: Xamarin.Forms Everywhere!
Javier Suárez Ruiz
 
PPTX
Novedades Xamarin 3.0 Preview
Javier Suárez Ruiz
 
PPTX
Desarrollo Xamarin, más allá del desarrollo
Javier Suárez Ruiz
 
PPTX
Introducción a Xamarin.Forms
Javier Suárez Ruiz
 
PPTX
Introducción a Xamarin
Javier Suárez Ruiz
 
PPTX
Aumento de productividad, herramientas Xamarin
Javier Suárez Ruiz
 
PPTX
Plain Concepts Tech Day: Desarrollo de aplicaciones multiplataforma con Xamarin
Javier Suárez Ruiz
 
Cape Town MS Developer User Group: Xamarin Community Toolkit
Javier Suárez Ruiz
 
DotNetDom: El futuro de Xamarin
Javier Suárez Ruiz
 
Tech Club Asturias: Un vistazo al presente y futuro de Xamarin.Forms
Javier Suárez Ruiz
 
Monkey Conf 2020: Xamarin Community Toolkit: More possibilities with Xamarin....
Javier Suárez Ruiz
 
Monkey Conf 2020: .NET MAUI Handlers
Javier Suárez Ruiz
 
Creando controles para Xamarin.Forms
Javier Suárez Ruiz
 
Monkey Conf 2019: Presente y futuro de Xamarin.Forms
Javier Suárez Ruiz
 
Crear interfaces de usuario atractivas con Xamarin.Forms
Javier Suárez Ruiz
 
#XamarinUIJuly Summary
Javier Suárez Ruiz
 
DotNet 2019: Optimizando Apps con Xamarin.Forms
Javier Suárez Ruiz
 
Monkey Conf 2018: Conociendo Xamarin.Forms Shell
Javier Suárez Ruiz
 
.Net Conf Sevilla 2018
Javier Suárez Ruiz
 
Analizando interfaces de usuario avanzadas con Xamarin.Forms
Javier Suárez Ruiz
 
DotNet2018: Xamarin.Forms Everywhere!
Javier Suárez Ruiz
 
Novedades Xamarin 3.0 Preview
Javier Suárez Ruiz
 
Desarrollo Xamarin, más allá del desarrollo
Javier Suárez Ruiz
 
Introducción a Xamarin.Forms
Javier Suárez Ruiz
 
Introducción a Xamarin
Javier Suárez Ruiz
 
Aumento de productividad, herramientas Xamarin
Javier Suárez Ruiz
 
Plain Concepts Tech Day: Desarrollo de aplicaciones multiplataforma con Xamarin
Javier Suárez Ruiz
 

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