SlideShare una empresa de Scribd logo
1 de 45
“Crearemos una app cross
Platform para Android, iOS,
UWP, Windows, macOS y Linux”
Taller Xamarin
Javier Suárez Ruiz (@jsuarezruiz)
Plain Concepts
@jsuarezruizMAD · NOV 24-25 · 2017
Javier Suárez · Taller Xamarin · @jsuarezruiz
Crearemos una aplicación de películas con información real. Veremos conceptos como:
∘ Crear estructura Proyecto.
∘ Estructura de proyectos.
∘ Diseño de vistas.
∘ Navegación.
La aplicación se realizará paso a paso, en diferentes bloques a lo largo de 2h.
A lo largo del taller, iremos resolviendo dudas y preguntas.
También tendremos alguna sorpresa y detalle ;)
El taller
Javier Suárez · Taller Xamarin · @jsuarezruiz
La App
Javier Suárez · Taller Xamarin · @jsuarezruiz
La App
Javier Suárez · Taller Xamarin · @jsuarezruiz
No dudéis en preguntar!
Javier Suárez · Taller Xamarin · @jsuarezruiz
Por si alguien, no tiene material:
https://goo.gl/EJSCX7
Javier Suárez · Taller Xamarin · @jsuarezruiz
Primero, repasemos
conceptos básicos
Javier Suárez · Taller Xamarin · @jsuarezruiz
Xamarin – Solución completa para el Desarrollo móvil
Javier Suárez · Taller Xamarin · @jsuarezruiz
Código nativo
iOS WindowsAndroid
Objective-C
Xcode
C#
Visual Studio
Java
Android Studio
No se comparte código • Diferentes lenguajes & entornos de desarrollo • Diferentes equipos
Javier Suárez · Taller Xamarin · @jsuarezruiz
Escribe una vez, corre en todos
App Generator
Lua
Javascript
Actionscript
HTML+CSS
Acceso limitado a APIs • Menos rendimiento • Experiencia de usuario más pobre
Javier Suárez · Taller Xamarin · @jsuarezruiz
El enfoque de Xamarin
Código común compartido • Acceso 100% a APIs nativas • Alto rendimiento
iOS C# UI Windows C# UIAndroid C# UI
Shared C# Mobile
Javier Suárez · Taller Xamarin · @jsuarezruiz
Xamarin + Xamarin.Forms
Enfoque tradicional Con Xamarin.Forms:
Más código compartido, nativo
iOS C# UI Windows C# UIAndroid C# UI
Shared C# Backend
Shared UI Code
Shared C# Backend
Javier Suárez · Taller Xamarin · @jsuarezruiz
El enfoque de Xamarin
Código común compartido • Acceso 100% a APIs nativas • Alto rendimiento
iOS C# UI Windows C# UIAndroid C# UI
Shared C# Mobile C# Server
Linux/Mono
CoreCLRAzure
Shared C# Client/Server
Xamarin ahora gratis e
incluido en Visual Studio
Javier Suárez · Taller Xamarin · @jsuarezruiz
#TechSum
Rendimiento nativo
Xamarin.iOS usa la compilación Ahead Of
Time (AOT) para crear un binario ARM
para la Apple’s App Store.
Xamarin.Android toma ventaja de la
compilación Just In Time (JIT) en
dispositivos Android.
Javier Suárez · Taller Xamarin · @jsuarezruiz
Open Source – open.xamarin.com
Javier Suárez · Taller Xamarin · @jsuarezruiz
C# mola
Y lo
sabes!
Javier Suárez · Taller Xamarin · @jsuarezruiz
C# mola
Javier Suárez · Taller Xamarin · @jsuarezruiz
¿CómofuncionaesXamarin?
Javier Suárez · Taller Xamarin · @jsuarezruiz
Windows APIs
Microsoft.Phone Microsoft.Networking Windows.Storage Windows.Foundation Microsoft.Devices
System.Data System.Windows System.Numerics System.Core
System.ServiceMode
l
System.Net System System.IO System.Linq System.Xml
Javier Suárez · Taller Xamarin · @jsuarezruiz
iOS – Acceso al 100% de las APIs
MapKit UIKit iBeacon CoreGraphics CoreMotion
System.Data System.Windows System.Numerics System.Core
System.ServiceMode
l
System.Net System System.IO System.Linq System.Xml
Javier Suárez · Taller Xamarin · @jsuarezruiz
Android – Acceso al 100%de las APIs
Text-to-speech ActionBar Printing Framework Renderscript NFC
System.Data System.Windows System.Numerics System.Core
System.ServiceMode
l
System.Net System System.IO System.Linq System.Xml
Javier Suárez · Taller Xamarin · @jsuarezruiz
Cualquier cosa que puedas hacer con Objective-C, Swift, o Java
se puede hacer con C# y Visual Studio con Xamarin.
Javier Suárez · Taller Xamarin · @jsuarezruiz
Laclave,compartir
código
Javier Suárez · Taller Xamarin · @jsuarezruiz
Xamarin.iOS Xamarin.Android
Portable Class Libraries
Javier Suárez · Taller Xamarin · @jsuarezruiz
Conoce Xamarin.Forms
Javier Suárez · Taller Xamarin · @jsuarezruiz
Xamarin + Xamarin.Forms
Enfoque tradicional de
Xamarin
Con Xamarin.Forms:
Más código compartido, todo nativo
iOS C# UI Windows C# UIAndroid C# UI
Shared C# Backend
Shared UI Code
Shared C# Backend
Javier Suárez · Taller Xamarin · @jsuarezruiz
¿Qué se incluye?
✓ 40+ páginas, layouts, y
controles
(code behind o XAML)
✓ Two-way data binding
✓ Mavegación
✓ API de animaciones
✓ Dependency Service
✓ Messaging Center
Shared C# Backend
Shared UI Code
Javier Suárez · Taller Xamarin · @jsuarezruiz
Layouts
Páginas
Stack Absolute Relative Grid ContentView ScrollView Frame
Content MasterDetai
l
Navigatio
n
Tabbed Carousel
Javier Suárez · Taller Xamarin · @jsuarezruiz
ActivityIndicator BoxView Button DatePicker Editor
Entry Image Label ListView Map
OpenGLView Picker ProgressBar SearchBar Slider
Stepper TableView TimePicker WebView EntryCell
ImageCell SwitchCell TextCell ViewCell
Controles
Javier Suárez · Taller Xamarin · @jsuarezruiz
A practicar: Vistas básicas
XAML Love!
Javier Suárez · Taller Xamarin · @jsuarezruiz
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
Javier Suárez · Taller Xamarin · @jsuarezruiz
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
Javier Suárez · Taller Xamarin · @jsuarezruiz
View
ViewModel
Model
get/set
Propiedades
Comandos
Notifica
cambios
C#
Models
View
View
ViewModel
ViewModel
Model
Model
Cross Platform
Javier Suárez · Taller Xamarin · @jsuarezruiz
• Mayor facilidad para mantener, extender y
compartir el código.
• Más facilidad a la hora de colaborar.
• Testing.
• Más fácil de diseñar.
Javier Suárez · Taller Xamarin · @jsuarezruiz
Continuamos: MVVM
Enlace a datos y otros conceptos básicos
Javier Suárez · Taller Xamarin · @jsuarezruiz
Peticiones Http -> 100% compartidas
public async Task<TResult> GetAsync<TResult>(string uri)
{
HttpClient httpClient = CreateHttpClient();
HttpResponseMessage response = await httpClient.GetAsync(uri);
await HandleResponse(response);
string serialized = await response.Content.ReadAsStringAsync();
TResult result = await Task.Run(() =>
JsonConvert.DeserializeObject<TResult>(serialized, _serializerSettings));
return result;
}
Javier Suárez · Taller Xamarin · @jsuarezruiz
Continuamos: Servicio REST
Acceso a datos
Javier Suárez · Taller Xamarin · @jsuarezruiz
La clase NavigationPage
La clase NavigationPage nos permite realizar una navegación
jerárquica hacia delante y hacia atrás.
Implementa una pila (LIFO) para gestionar la navegación.
Javier Suárez · Taller Xamarin · @jsuarezruiz
Navegación
Para pasar de una página a otra, la app añadirá (push) una nueva
página en la pila de navegación, pasando a ser la página activa:
Para volver a la página anterior, la aplicación quitará (pop) la página
actual de la pila de navegación convirtiéndose la nueva página en la
activa.
Javier Suárez · Taller Xamarin · @jsuarezruiz
Navegar hacia delante
await Navigation.PushAsync (new Page());
Para navegar a una nueva página, utilizamos el método PushAsync
disponible en la propiedad Navigation de la página actual:
Cuando el método PushAsync se ha lanzado:
• La página que lanza el método llama al método OnDisappearing.
• La página a la que se navega, lanza el método OnAppearing.
Javier Suárez · Taller Xamarin · @jsuarezruiz
Detalles de una película
Navegación entre páginas
Javier Suárez · Taller Xamarin · @jsuarezruiz
Aplicación completa
Repasamos conceptos y conocemos algunos nuevos!
Javier Suárez · Taller Xamarin · @jsuarezruiz
P&R
¿Preguntas?
Javier Suárez · Taller Xamarin · @jsuarezruiz
Gracias a todos!
Hasta la próxima!

Más contenido relacionado

La actualidad más candente

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 XamarinJavier Suárez Ruiz
 
Arquitectura xamarin - Nuestra primera app
Arquitectura xamarin - Nuestra primera appArquitectura xamarin - Nuestra primera app
Arquitectura xamarin - Nuestra primera appBorja García Cueto
 
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 XamarinJavier 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 XamarinJavier Suárez Ruiz
 
Aumento de productividad, herramientas Xamarin
Aumento de productividad, herramientas XamarinAumento de productividad, herramientas Xamarin
Aumento de productividad, herramientas XamarinJavier Suárez Ruiz
 
Integración Continua con Apps Xamarin
Integración Continua con Apps XamarinIntegración Continua con Apps Xamarin
Integración Continua con Apps XamarinJavier Suárez Ruiz
 
Xamarin Hol - Módulo V: Mobile DevOps con Visual Studio Team Services y Hocke...
Xamarin Hol - Módulo V: Mobile DevOps con Visual Studio Team Services y Hocke...Xamarin Hol - Módulo V: Mobile DevOps con Visual Studio Team Services y Hocke...
Xamarin Hol - Módulo V: Mobile DevOps con Visual Studio Team Services y Hocke...Javier Suárez Ruiz
 
Extendiendo Xamarin.Forms con Custom Renders
Extendiendo Xamarin.Forms con Custom RendersExtendiendo Xamarin.Forms con Custom Renders
Extendiendo Xamarin.Forms con Custom RendersJavier Suárez Ruiz
 
Arquitectura en Aplicaciones Xamarin
Arquitectura en Aplicaciones XamarinArquitectura en Aplicaciones Xamarin
Arquitectura en Aplicaciones XamarinJavier Suárez Ruiz
 
re-Connect Madrid: Novedades Xamarin
re-Connect Madrid: Novedades Xamarinre-Connect Madrid: Novedades Xamarin
re-Connect Madrid: Novedades XamarinJavier Suárez Ruiz
 
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
 
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 XamarinJavier Suárez Ruiz
 
SVQXDG - Introducción a Embeddinator-4000
SVQXDG - Introducción a Embeddinator-4000SVQXDG - Introducción a Embeddinator-4000
SVQXDG - Introducción a Embeddinator-4000Javier Suárez Ruiz
 

La actualidad más candente (20)

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
 
Arquitectura xamarin - Nuestra primera app
Arquitectura xamarin - Nuestra primera appArquitectura xamarin - Nuestra primera app
Arquitectura xamarin - Nuestra primera app
 
Introduccion a Xamarin
Introduccion a XamarinIntroduccion a Xamarin
Introduccion a Xamarin
 
Xamarin Live Player
Xamarin Live PlayerXamarin Live Player
Xamarin Live Player
 
Servicios Xamarin
Servicios XamarinServicios Xamarin
Servicios Xamarin
 
Xamarin for Everyone
Xamarin for EveryoneXamarin for Everyone
Xamarin for Everyone
 
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
 
[dotNetSpain2016] Aumentando nuestra productividad en Xamarin
[dotNetSpain2016] Aumentando nuestra productividad en Xamarin[dotNetSpain2016] Aumentando nuestra productividad en Xamarin
[dotNetSpain2016] Aumentando nuestra productividad en Xamarin
 
Aumento de productividad, herramientas Xamarin
Aumento de productividad, herramientas XamarinAumento de productividad, herramientas Xamarin
Aumento de productividad, herramientas Xamarin
 
Integración Continua con Apps Xamarin
Integración Continua con Apps XamarinIntegración Continua con Apps Xamarin
Integración Continua con Apps Xamarin
 
Introducción a Xamarin.Forms
Introducción a Xamarin.FormsIntroducción a Xamarin.Forms
Introducción a Xamarin.Forms
 
Xamarin Hol - Módulo V: Mobile DevOps con Visual Studio Team Services y Hocke...
Xamarin Hol - Módulo V: Mobile DevOps con Visual Studio Team Services y Hocke...Xamarin Hol - Módulo V: Mobile DevOps con Visual Studio Team Services y Hocke...
Xamarin Hol - Módulo V: Mobile DevOps con Visual Studio Team Services y Hocke...
 
Introduction to xamarin
Introduction to xamarinIntroduction to xamarin
Introduction to xamarin
 
Extendiendo Xamarin.Forms con Custom Renders
Extendiendo Xamarin.Forms con Custom RendersExtendiendo Xamarin.Forms con Custom Renders
Extendiendo Xamarin.Forms con Custom Renders
 
Arquitectura en Aplicaciones Xamarin
Arquitectura en Aplicaciones XamarinArquitectura en Aplicaciones Xamarin
Arquitectura en Aplicaciones Xamarin
 
re-Connect Madrid: Novedades Xamarin
re-Connect Madrid: Novedades Xamarinre-Connect Madrid: Novedades Xamarin
re-Connect Madrid: Novedades Xamarin
 
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)
 
dotNetMálaga - Taller Xamarin
dotNetMálaga - Taller XamarindotNetMálaga - Taller Xamarin
dotNetMálaga - Taller 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
 
SVQXDG - Introducción a Embeddinator-4000
SVQXDG - Introducción a Embeddinator-4000SVQXDG - Introducción a Embeddinator-4000
SVQXDG - Introducción a Embeddinator-4000
 

Similar a Codemotion 2017 - Taller Xamarin

Xamarin Dev Days Madrid - Xamarin.Forms
Xamarin Dev Days Madrid - Xamarin.FormsXamarin Dev Days Madrid - Xamarin.Forms
Xamarin Dev Days Madrid - Xamarin.FormsJavier Suárez Ruiz
 
OpenSouthCode 2018: Taller Xamarin
OpenSouthCode 2018: Taller XamarinOpenSouthCode 2018: Taller Xamarin
OpenSouthCode 2018: Taller XamarinJavier Suárez Ruiz
 
Monkey Conf 2019: Presente y futuro de Xamarin.Forms
Monkey Conf 2019: Presente y futuro de Xamarin.FormsMonkey Conf 2019: Presente y futuro de Xamarin.Forms
Monkey Conf 2019: Presente y futuro de Xamarin.FormsJavier Suárez Ruiz
 
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 4Javier Suárez Ruiz
 
Azure Storage, Cognitive Services y Xamarin - Tepic Nayarit
Azure Storage, Cognitive Services y Xamarin - Tepic NayaritAzure Storage, Cognitive Services y Xamarin - Tepic Nayarit
Azure Storage, Cognitive Services y Xamarin - Tepic Nayaritenriqueaguilar
 
DotNet2018: Xamarin.Forms Everywhere!
DotNet2018: Xamarin.Forms Everywhere!DotNet2018: Xamarin.Forms Everywhere!
DotNet2018: Xamarin.Forms Everywhere!Javier Suárez Ruiz
 
Azure Storage y Xamarin - Tec Tianguistenco
Azure Storage y Xamarin - Tec TianguistencoAzure Storage y Xamarin - Tec Tianguistenco
Azure Storage y Xamarin - Tec Tianguistencoenriqueaguilar
 
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...Luis Beltran
 
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.FormsJavier Suárez Ruiz
 
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...Javier Suárez Ruiz
 
Interfaces nativas Cross-Platform con Xamarin.Forms
Interfaces nativas Cross-Platform con Xamarin.FormsInterfaces nativas Cross-Platform con Xamarin.Forms
Interfaces nativas Cross-Platform con Xamarin.FormsJavier Suárez Ruiz
 

Similar a Codemotion 2017 - Taller Xamarin (20)

Taller Xamarin Monkey Conf 2018
Taller Xamarin Monkey Conf 2018Taller Xamarin Monkey Conf 2018
Taller Xamarin Monkey Conf 2018
 
Xamarin Dev Days Madrid - Xamarin.Forms
Xamarin Dev Days Madrid - Xamarin.FormsXamarin Dev Days Madrid - Xamarin.Forms
Xamarin Dev Days Madrid - Xamarin.Forms
 
OpenSouthCode 2018: Taller Xamarin
OpenSouthCode 2018: Taller XamarinOpenSouthCode 2018: Taller Xamarin
OpenSouthCode 2018: Taller Xamarin
 
Introducción a Xamarin
Introducción a XamarinIntroducción a Xamarin
Introducción a Xamarin
 
Introducción a Xamarin
Introducción a XamarinIntroducción a Xamarin
Introducción a Xamarin
 
Introduccion a xamarin
Introduccion a xamarinIntroduccion a xamarin
Introduccion a xamarin
 
Monkey Conf 2019: Presente y futuro de Xamarin.Forms
Monkey Conf 2019: Presente y futuro de Xamarin.FormsMonkey Conf 2019: Presente y futuro de Xamarin.Forms
Monkey Conf 2019: Presente y futuro de Xamarin.Forms
 
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
 
Azure Storage, Cognitive Services y Xamarin - Tepic Nayarit
Azure Storage, Cognitive Services y Xamarin - Tepic NayaritAzure Storage, Cognitive Services y Xamarin - Tepic Nayarit
Azure Storage, Cognitive Services y Xamarin - Tepic Nayarit
 
DotNet2018: Xamarin.Forms Everywhere!
DotNet2018: Xamarin.Forms Everywhere!DotNet2018: Xamarin.Forms Everywhere!
DotNet2018: Xamarin.Forms Everywhere!
 
Azure Storage y Xamarin - Tec Tianguistenco
Azure Storage y Xamarin - Tec TianguistencoAzure Storage y Xamarin - Tec Tianguistenco
Azure Storage y Xamarin - Tec Tianguistenco
 
Xamarin ui test
Xamarin ui testXamarin ui test
Xamarin ui test
 
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...
 
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
 
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...
 
2017 xamarin
2017 xamarin2017 xamarin
2017 xamarin
 
DotNetDom: El futuro de Xamarin
DotNetDom: El futuro de XamarinDotNetDom: El futuro de Xamarin
DotNetDom: El futuro de Xamarin
 
Introducción a Xamarin.Forms
Introducción a Xamarin.FormsIntroducción a Xamarin.Forms
Introducción a Xamarin.Forms
 
Xamarin Forms y MVVM
Xamarin Forms y MVVMXamarin Forms y MVVM
Xamarin Forms y MVVM
 
Interfaces nativas Cross-Platform con Xamarin.Forms
Interfaces nativas Cross-Platform con Xamarin.FormsInterfaces nativas Cross-Platform con Xamarin.Forms
Interfaces nativas Cross-Platform con Xamarin.Forms
 

Más de Javier Suárez Ruiz

Cape Town MS Developer User Group: Xamarin Community Toolkit
Cape Town MS Developer User Group: Xamarin Community ToolkitCape Town MS Developer User Group: Xamarin Community Toolkit
Cape Town MS Developer User Group: Xamarin Community ToolkitJavier Suárez Ruiz
 
Monkey Conf 2020: Xamarin Community Toolkit: More possibilities with Xamarin....
Monkey Conf 2020: Xamarin Community Toolkit: More possibilities with Xamarin....Monkey Conf 2020: Xamarin Community Toolkit: More possibilities with Xamarin....
Monkey Conf 2020: Xamarin Community Toolkit: More possibilities with Xamarin....Javier Suárez Ruiz
 
Monkey Conf 2020: .NET MAUI Handlers
Monkey Conf 2020: .NET MAUI HandlersMonkey Conf 2020: .NET MAUI Handlers
Monkey Conf 2020: .NET MAUI HandlersJavier Suárez Ruiz
 
Creando controles para Xamarin.Forms
Creando controles para Xamarin.FormsCreando controles para Xamarin.Forms
Creando controles para Xamarin.FormsJavier Suárez Ruiz
 
Crear interfaces de usuario atractivas con Xamarin.Forms
Crear interfaces de usuario atractivas con Xamarin.FormsCrear interfaces de usuario atractivas con Xamarin.Forms
Crear interfaces de usuario atractivas con Xamarin.FormsJavier Suárez Ruiz
 
DotNet 2019: Optimizando Apps con Xamarin.Forms
DotNet 2019: Optimizando Apps con Xamarin.FormsDotNet 2019: Optimizando Apps con Xamarin.Forms
DotNet 2019: Optimizando Apps con Xamarin.FormsJavier Suárez Ruiz
 
Monkey Conf 2018: Conociendo Xamarin.Forms Shell
Monkey Conf 2018: Conociendo Xamarin.Forms ShellMonkey Conf 2018: Conociendo Xamarin.Forms Shell
Monkey Conf 2018: Conociendo Xamarin.Forms ShellJavier Suárez Ruiz
 
Analizando interfaces de usuario avanzadas con Xamarin.Forms
Analizando interfaces de usuario avanzadas con Xamarin.FormsAnalizando interfaces de usuario avanzadas con Xamarin.Forms
Analizando interfaces de usuario avanzadas con Xamarin.FormsJavier Suárez Ruiz
 
Desarrollo Xamarin, más allá del desarrollo
Desarrollo Xamarin, más allá del desarrolloDesarrollo Xamarin, más allá del desarrollo
Desarrollo Xamarin, más allá del desarrolloJavier Suárez Ruiz
 
dotNetMálaga 2017 - Taller Hololens con Wave Engine
dotNetMálaga 2017 - Taller Hololens con Wave EnginedotNetMálaga 2017 - Taller Hololens con Wave Engine
dotNetMálaga 2017 - Taller Hololens con Wave EngineJavier Suárez Ruiz
 
dotNetMálaga 2017 - Trucos y consejos rendimiento Xamarin.Forms
dotNetMálaga 2017 - Trucos y consejos rendimiento Xamarin.FormsdotNetMálaga 2017 - Trucos y consejos rendimiento Xamarin.Forms
dotNetMálaga 2017 - Trucos y consejos rendimiento Xamarin.FormsJavier Suárez Ruiz
 
Xamarin Dev Days Málaga 2017 - Apps conectadas con Azure
Xamarin Dev Days Málaga 2017 - Apps conectadas con AzureXamarin Dev Days Málaga 2017 - Apps conectadas con Azure
Xamarin Dev Days Málaga 2017 - Apps conectadas con AzureJavier Suárez Ruiz
 
Xamarin Dev Days Madrid 2017 - Xamarin.Forms
Xamarin Dev Days Madrid 2017 -  Xamarin.FormsXamarin Dev Days Madrid 2017 -  Xamarin.Forms
Xamarin Dev Days Madrid 2017 - Xamarin.FormsJavier Suárez Ruiz
 

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

Cape Town MS Developer User Group: Xamarin Community Toolkit
Cape Town MS Developer User Group: Xamarin Community ToolkitCape Town MS Developer User Group: Xamarin Community Toolkit
Cape Town MS Developer User Group: Xamarin Community Toolkit
 
Monkey Conf 2020: Xamarin Community Toolkit: More possibilities with Xamarin....
Monkey Conf 2020: Xamarin Community Toolkit: More possibilities with Xamarin....Monkey Conf 2020: Xamarin Community Toolkit: More possibilities with Xamarin....
Monkey Conf 2020: Xamarin Community Toolkit: More possibilities with Xamarin....
 
Monkey Conf 2020: .NET MAUI Handlers
Monkey Conf 2020: .NET MAUI HandlersMonkey Conf 2020: .NET MAUI Handlers
Monkey Conf 2020: .NET MAUI Handlers
 
Creando controles para Xamarin.Forms
Creando controles para Xamarin.FormsCreando controles para Xamarin.Forms
Creando controles para Xamarin.Forms
 
Crear interfaces de usuario atractivas con Xamarin.Forms
Crear interfaces de usuario atractivas con Xamarin.FormsCrear interfaces de usuario atractivas con Xamarin.Forms
Crear interfaces de usuario atractivas con Xamarin.Forms
 
#XamarinUIJuly Summary
#XamarinUIJuly Summary#XamarinUIJuly Summary
#XamarinUIJuly Summary
 
DotNet 2019: Optimizando Apps con Xamarin.Forms
DotNet 2019: Optimizando Apps con Xamarin.FormsDotNet 2019: Optimizando Apps con Xamarin.Forms
DotNet 2019: Optimizando Apps con Xamarin.Forms
 
Monkey Conf 2018: Conociendo Xamarin.Forms Shell
Monkey Conf 2018: Conociendo Xamarin.Forms ShellMonkey Conf 2018: Conociendo Xamarin.Forms Shell
Monkey Conf 2018: Conociendo Xamarin.Forms Shell
 
.Net Conf Sevilla 2018
.Net Conf Sevilla 2018.Net Conf Sevilla 2018
.Net Conf Sevilla 2018
 
Analizando interfaces de usuario avanzadas con Xamarin.Forms
Analizando interfaces de usuario avanzadas con Xamarin.FormsAnalizando interfaces de usuario avanzadas con Xamarin.Forms
Analizando interfaces de usuario avanzadas con Xamarin.Forms
 
Novedades Xamarin 3.0 Preview
Novedades Xamarin 3.0 PreviewNovedades Xamarin 3.0 Preview
Novedades Xamarin 3.0 Preview
 
Desarrollo Xamarin, más allá del desarrollo
Desarrollo Xamarin, más allá del desarrolloDesarrollo Xamarin, más allá del desarrollo
Desarrollo Xamarin, más allá del desarrollo
 
dotNetMálaga 2017 - Taller Hololens con Wave Engine
dotNetMálaga 2017 - Taller Hololens con Wave EnginedotNetMálaga 2017 - Taller Hololens con Wave Engine
dotNetMálaga 2017 - Taller Hololens con Wave Engine
 
dotNetMálaga 2017 - Trucos y consejos rendimiento Xamarin.Forms
dotNetMálaga 2017 - Trucos y consejos rendimiento Xamarin.FormsdotNetMálaga 2017 - Trucos y consejos rendimiento Xamarin.Forms
dotNetMálaga 2017 - Trucos y consejos rendimiento Xamarin.Forms
 
Embeddinator-4000
Embeddinator-4000Embeddinator-4000
Embeddinator-4000
 
Xamarin Dev Days Málaga 2017 - Apps conectadas con Azure
Xamarin Dev Days Málaga 2017 - Apps conectadas con AzureXamarin Dev Days Málaga 2017 - Apps conectadas con Azure
Xamarin Dev Days Málaga 2017 - Apps conectadas con Azure
 
Xamarin Dev Days Madrid 2017 - Xamarin.Forms
Xamarin Dev Days Madrid 2017 -  Xamarin.FormsXamarin Dev Days Madrid 2017 -  Xamarin.Forms
Xamarin Dev Days Madrid 2017 - Xamarin.Forms
 

Último

trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...AlanCedillo9
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 

Último (19)

trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 

Codemotion 2017 - Taller Xamarin

  • 1. “Crearemos una app cross Platform para Android, iOS, UWP, Windows, macOS y Linux” Taller Xamarin Javier Suárez Ruiz (@jsuarezruiz) Plain Concepts @jsuarezruizMAD · NOV 24-25 · 2017
  • 2. Javier Suárez · Taller Xamarin · @jsuarezruiz Crearemos una aplicación de películas con información real. Veremos conceptos como: ∘ Crear estructura Proyecto. ∘ Estructura de proyectos. ∘ Diseño de vistas. ∘ Navegación. La aplicación se realizará paso a paso, en diferentes bloques a lo largo de 2h. A lo largo del taller, iremos resolviendo dudas y preguntas. También tendremos alguna sorpresa y detalle ;) El taller
  • 3. Javier Suárez · Taller Xamarin · @jsuarezruiz La App
  • 4. Javier Suárez · Taller Xamarin · @jsuarezruiz La App
  • 5. Javier Suárez · Taller Xamarin · @jsuarezruiz No dudéis en preguntar!
  • 6. Javier Suárez · Taller Xamarin · @jsuarezruiz Por si alguien, no tiene material: https://goo.gl/EJSCX7
  • 7. Javier Suárez · Taller Xamarin · @jsuarezruiz Primero, repasemos conceptos básicos
  • 8. Javier Suárez · Taller Xamarin · @jsuarezruiz Xamarin – Solución completa para el Desarrollo móvil
  • 9. Javier Suárez · Taller Xamarin · @jsuarezruiz Código nativo iOS WindowsAndroid Objective-C Xcode C# Visual Studio Java Android Studio No se comparte código • Diferentes lenguajes & entornos de desarrollo • Diferentes equipos
  • 10. Javier Suárez · Taller Xamarin · @jsuarezruiz Escribe una vez, corre en todos App Generator Lua Javascript Actionscript HTML+CSS Acceso limitado a APIs • Menos rendimiento • Experiencia de usuario más pobre
  • 11. Javier Suárez · Taller Xamarin · @jsuarezruiz El enfoque de Xamarin Código común compartido • Acceso 100% a APIs nativas • Alto rendimiento iOS C# UI Windows C# UIAndroid C# UI Shared C# Mobile
  • 12. Javier Suárez · Taller Xamarin · @jsuarezruiz Xamarin + Xamarin.Forms Enfoque tradicional Con Xamarin.Forms: Más código compartido, nativo iOS C# UI Windows C# UIAndroid C# UI Shared C# Backend Shared UI Code Shared C# Backend
  • 13. Javier Suárez · Taller Xamarin · @jsuarezruiz El enfoque de Xamarin Código común compartido • Acceso 100% a APIs nativas • Alto rendimiento iOS C# UI Windows C# UIAndroid C# UI Shared C# Mobile C# Server Linux/Mono CoreCLRAzure Shared C# Client/Server
  • 14. Xamarin ahora gratis e incluido en Visual Studio
  • 15. Javier Suárez · Taller Xamarin · @jsuarezruiz #TechSum Rendimiento nativo Xamarin.iOS usa la compilación Ahead Of Time (AOT) para crear un binario ARM para la Apple’s App Store. Xamarin.Android toma ventaja de la compilación Just In Time (JIT) en dispositivos Android.
  • 16. Javier Suárez · Taller Xamarin · @jsuarezruiz Open Source – open.xamarin.com
  • 17. Javier Suárez · Taller Xamarin · @jsuarezruiz C# mola Y lo sabes!
  • 18. Javier Suárez · Taller Xamarin · @jsuarezruiz C# mola
  • 19. Javier Suárez · Taller Xamarin · @jsuarezruiz ¿CómofuncionaesXamarin?
  • 20. Javier Suárez · Taller Xamarin · @jsuarezruiz Windows APIs Microsoft.Phone Microsoft.Networking Windows.Storage Windows.Foundation Microsoft.Devices System.Data System.Windows System.Numerics System.Core System.ServiceMode l System.Net System System.IO System.Linq System.Xml
  • 21. Javier Suárez · Taller Xamarin · @jsuarezruiz iOS – Acceso al 100% de las APIs MapKit UIKit iBeacon CoreGraphics CoreMotion System.Data System.Windows System.Numerics System.Core System.ServiceMode l System.Net System System.IO System.Linq System.Xml
  • 22. Javier Suárez · Taller Xamarin · @jsuarezruiz Android – Acceso al 100%de las APIs Text-to-speech ActionBar Printing Framework Renderscript NFC System.Data System.Windows System.Numerics System.Core System.ServiceMode l System.Net System System.IO System.Linq System.Xml
  • 23. Javier Suárez · Taller Xamarin · @jsuarezruiz Cualquier cosa que puedas hacer con Objective-C, Swift, o Java se puede hacer con C# y Visual Studio con Xamarin.
  • 24. Javier Suárez · Taller Xamarin · @jsuarezruiz Laclave,compartir código
  • 25. Javier Suárez · Taller Xamarin · @jsuarezruiz Xamarin.iOS Xamarin.Android Portable Class Libraries
  • 26. Javier Suárez · Taller Xamarin · @jsuarezruiz Conoce Xamarin.Forms
  • 27. Javier Suárez · Taller Xamarin · @jsuarezruiz Xamarin + Xamarin.Forms Enfoque tradicional de Xamarin Con Xamarin.Forms: Más código compartido, todo nativo iOS C# UI Windows C# UIAndroid C# UI Shared C# Backend Shared UI Code Shared C# Backend
  • 28. Javier Suárez · Taller Xamarin · @jsuarezruiz ¿Qué se incluye? ✓ 40+ páginas, layouts, y controles (code behind o XAML) ✓ Two-way data binding ✓ Mavegación ✓ API de animaciones ✓ Dependency Service ✓ Messaging Center Shared C# Backend Shared UI Code
  • 29. Javier Suárez · Taller Xamarin · @jsuarezruiz Layouts Páginas Stack Absolute Relative Grid ContentView ScrollView Frame Content MasterDetai l Navigatio n Tabbed Carousel
  • 30. Javier Suárez · Taller Xamarin · @jsuarezruiz ActivityIndicator BoxView Button DatePicker Editor Entry Image Label ListView Map OpenGLView Picker ProgressBar SearchBar Slider Stepper TableView TimePicker WebView EntryCell ImageCell SwitchCell TextCell ViewCell Controles
  • 31. Javier Suárez · Taller Xamarin · @jsuarezruiz A practicar: Vistas básicas XAML Love!
  • 32. Javier Suárez · Taller Xamarin · @jsuarezruiz 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
  • 33. Javier Suárez · Taller Xamarin · @jsuarezruiz 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
  • 34. Javier Suárez · Taller Xamarin · @jsuarezruiz View ViewModel Model get/set Propiedades Comandos Notifica cambios C# Models View View ViewModel ViewModel Model Model Cross Platform
  • 35. Javier Suárez · Taller Xamarin · @jsuarezruiz • Mayor facilidad para mantener, extender y compartir el código. • Más facilidad a la hora de colaborar. • Testing. • Más fácil de diseñar.
  • 36. Javier Suárez · Taller Xamarin · @jsuarezruiz Continuamos: MVVM Enlace a datos y otros conceptos básicos
  • 37. Javier Suárez · Taller Xamarin · @jsuarezruiz Peticiones Http -> 100% compartidas public async Task<TResult> GetAsync<TResult>(string uri) { HttpClient httpClient = CreateHttpClient(); HttpResponseMessage response = await httpClient.GetAsync(uri); await HandleResponse(response); string serialized = await response.Content.ReadAsStringAsync(); TResult result = await Task.Run(() => JsonConvert.DeserializeObject<TResult>(serialized, _serializerSettings)); return result; }
  • 38. Javier Suárez · Taller Xamarin · @jsuarezruiz Continuamos: Servicio REST Acceso a datos
  • 39. Javier Suárez · Taller Xamarin · @jsuarezruiz La clase NavigationPage La clase NavigationPage nos permite realizar una navegación jerárquica hacia delante y hacia atrás. Implementa una pila (LIFO) para gestionar la navegación.
  • 40. Javier Suárez · Taller Xamarin · @jsuarezruiz Navegación Para pasar de una página a otra, la app añadirá (push) una nueva página en la pila de navegación, pasando a ser la página activa: Para volver a la página anterior, la aplicación quitará (pop) la página actual de la pila de navegación convirtiéndose la nueva página en la activa.
  • 41. Javier Suárez · Taller Xamarin · @jsuarezruiz Navegar hacia delante await Navigation.PushAsync (new Page()); Para navegar a una nueva página, utilizamos el método PushAsync disponible en la propiedad Navigation de la página actual: Cuando el método PushAsync se ha lanzado: • La página que lanza el método llama al método OnDisappearing. • La página a la que se navega, lanza el método OnAppearing.
  • 42. Javier Suárez · Taller Xamarin · @jsuarezruiz Detalles de una película Navegación entre páginas
  • 43. Javier Suárez · Taller Xamarin · @jsuarezruiz Aplicación completa Repasamos conceptos y conocemos algunos nuevos!
  • 44. Javier Suárez · Taller Xamarin · @jsuarezruiz P&R ¿Preguntas?
  • 45. Javier Suárez · Taller Xamarin · @jsuarezruiz Gracias a todos! Hasta la próxima!

Notas del editor

  1. Including the Free Community Edition
  2. The same is true for Android as well.
  3. Coming up next is bubbles
  4. Inside of a page are layouts A lot of options from something simple like a stack panel to complex and powerful grids
  5. You have more than 40 controls, layouts, and pages to mix and match from. These are all of the controls you have out of the box, you can of course create your own. What is unique is you get the native control and have access to it. Consider an Entry Field On iOS it is mapped to UITextField Android it is EditText Windows Phoen it is a TextBox