SlideShare una empresa de Scribd logo
1 de 47
Visual Studio Technologies & Windows
Platform Development MVP
Xamarin MVP
Xamarin Team Lead at Plain Concepts
• Blog: http://geeks.ms/blogs/jsuarez
• Email: javiersuarezruiz@hotmail.com
• Twitter: @jsuarezruiz
Apps de calidad
La media de apps que un usuario instala en su
teléfono es de 36 apps.
Sólo 1/4 son usadas diariamente:
1/4 de las apps nunca son usadas!
¿Siempre conectados?
http://opensignal.com/coverage-maps
OPCIONES
AZURE
Código base C# • 100% acceso a APIs nativas • Rendimiento alto
iOS C# UI Windows C# UIAndroid C# UI
Shared C# Mobile C# Server
Linux/Mono
CoreCLRAzure
Shared C# Client/Server
+ servicios de Backend
Web
Apps
Mobile
Apps
API
Management
API
Apps
Logic
Apps
Notification
Hubs
Content Delivery
Network (CDN)
Media
Services
HDInsight Machine
Learning
Stream
Analytics
Data
Factory
Event
Hubs
Mobile
Engagement
Biztalk
Services
Hybrid
Connections
Service
Bus
Storage
Queues
Backup
StorSimple
Site
Recovery
Import/Export
SQL
Database
DocumentDB
Redis
Cache
Search
Tables
SQL Data
Warehouse
Azure AD
Connect Health
AD Privileged
Identity Mngt
Operational
Insights
Cloud
Services
Batch Remote App
Service
Fabric Visual Studio
Application
Insights
Azure SDK
Team Project
Active
Directory
Multi-Factor
Authentication
Automation
Portal
Key Vault
Store /
Marketplace
VM Image Gallery
& VM Depot
SEGURIDAD &
GESTIÓN SERVICIOS DE PLATAFORMA OPERACIONES
HÍBRIDAS
Azure Mobile Apps
RESTAPI
Offline
sync
Facebook Twitter Microsoft Google Azure Active
Directory
AZURE MOBILE APPS
WindowsAndroid
Chrome
iOS
OSX
In-AppKindle
Backend
SQL MongoTables O365 API Apps
Offline Sync
Crear un Mobile Service
MobileService = new MobileServiceClient(
"https://myapp.azurewebsites.net");
Crear Tablas
IMobileServiceSyncTable<Store> table;
public async Task Init()
{
const string path = "syncstore.db";
var db = new MobileServiceSQLiteStore(path);
db.DefineTable<Store>();
}
var handler = new MobileServiceSyncHandler();
await MobileService.SyncContext.InitializeAsync(db, h);
table = MobileService.GetSyncTable<Store>();
Obtener y modificar los datos
public async Task<IEnumerable<Store>> GetStoresAsync()
{
await table.PullAsync("allStores", table.CreateQuery());
return await table.ToEnumerableAsync();
}
public async Task<Store> AddStoreAsync (Store store)
{
await table.InsertAsync (store);
await table.PullAsync("allStores", table.CreateQuery());
await MobileService.SyncContext.PushAsync();
return store;
}
Vamos a añadir un
backend!
Shared C# codebase • 100% native API access • High performance
iOS C# UI Windows C# UIAndroid C# UI
Shared C# Mobile C# Server
Linux/Mono
CoreCLRAzure
Shared C# Client/Server
+ SERVER
Autenticación
AUTENTICACIÓN EN AZURE
Azure utiliza OAuth para identificar usuarios móviles. Oauth
define como interactuán entre sí tres participantes para llevar
a cabo el proceso de autenticación:
• Cliente (App Xamarin)
• Azure
• Proveedor de identidad (Idp)
PROVEEDORES DE IDENTIDAD DE
TERCEROSAzure soporta la autenticación utilizando diferentes
proveedores de identidad de terceros.
PROVEEDORES DE IDENTIDAD
Azure también soporta utilizar Azure Active Directory.
Podemos utilizar esta opción para realizar autenticación
empresarial.
También es posible utilizar Azure Active Directory B2C que
permite utilizar usuario/contraseña en un almacenamiento
Azure.
PROVEEDORES DE IDENTIDAD
También se puede realizar la integración con proveedores de
identidad personalizdos.
EL FLUJO DE AUTENTICACIÓN
1. El cliente utiliza un WebView para mostrar la página
de Login
2. Azure redirecciona a la página de Login correcta para
cada IdP (Twitter, Facebook, etc.)
3. El usuario se autentica con sus credenciales en el IdP.
4. El IdP redirecciona con un Token.
5. Se valida el Token con Azure y finalmente llega al
cliente.
Notificaciones Push
NOTIFICACIONES PUSH
• Las notificaciones Push nos ofrecen
una vía de comunicación directa con
los clientes de aplicaciones móviles
incluso cuando no esten con la
aplicación abierta.
• Las notificaciones Push se envían
utilizando estructuras específicas de
cada plataforma llamadas Platform
Notification Systems (PNS).
Back-
end
PN
S
Device
1
2
3
4
Comunicación con PNS
Gestión de PNS
Envía notificación
Enviar al dispositivo
NOTIFICACION
ES PUSH
• Gestión de
usuarios
• Dependencia con
plataforma
• Escalabilidad
• Monitorización
• Telemetría
AZURE NOTIFICATIONS HUB
Las claves:
• Fácil de utilizar, multiplataforma, infraestructura
escalable
• Envía notificaciones push a cada plataforma
utilizando platform notification services (PNS)
AZURE NOTIFICATIONS HUB
Soporte a gran variedad de PNS
 Windows Notification Service
 Microsoft Push Notification Service
 Apple Push Notification Service
 Firebase Cloud Messaging
 Google Cloud Messaging
 Baidu Cloud Push
 Amazon Device Messaging
Se soporta una gran variedad de
dispositivos
 Windows Phones, Tablets & PCs con Windows 8
o 10
 iOS
 Chrome Apps
 Android
 Amazon Kindles
AZURE NOTIFICATIONS HUB
Android
IPhone
Notification
Hubs
GCM
Windows PhoneWNS
APNS
Your Application
Sync ficheros
SYNC
One more thing…
Sync Offline
Online vs Offline
Los dispositivos móviles a menudo pasan por diferentes
estados y condiciones que afectan a las aplicaciones. Entre el
cambio de estado más habitual se encuentra la falta de
acceso a internet.
Como desarrolladores, debemos decider si nuestra aplicación
deja de funcionar offline (no permite el acceso a apartados,
etc.) o bien si se añade una cache offline que permita seguir
trabajando.
Sincronización Offline
Azure permite la sincronización offline de los datos con
pocas líneas de código.
Los beneficios:
• Permite el acceso a la información sin red.
• Sincronización automática de datos con cache local.
• Control sobre cuándo se realiza la sincronización.
A comer!
Javier
Suárez Ruiz
javiersuarezruiz@hotmail.com https://javiersuarezruiz.wordpress.com @jsuarezruiz

Más contenido relacionado

La actualidad más candente

WinObjC: Windows Bridge para iOS
WinObjC: Windows Bridge para iOSWinObjC: Windows Bridge para iOS
WinObjC: Windows Bridge para iOSJavier Suárez Ruiz
 
Adaptando Apps Xamarin.Forms a tabletas
Adaptando Apps Xamarin.Forms a tabletasAdaptando Apps Xamarin.Forms a tabletas
Adaptando Apps Xamarin.Forms a tabletasJavier Suárez Ruiz
 
Microsoft Tech Summit - Taller Xamarin
Microsoft Tech Summit - Taller XamarinMicrosoft Tech Summit - Taller Xamarin
Microsoft Tech Summit - Taller 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
 
Introducción al desarrollo de apps móviles multiplataforma con Xamarin.Forms
Introducción al desarrollo de apps móviles multiplataforma con Xamarin.FormsIntroducción al desarrollo de apps móviles multiplataforma con Xamarin.Forms
Introducción al desarrollo de apps móviles multiplataforma con Xamarin.FormsJavier 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 XamarinJavier 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
 
Novedades en Visual Studio Online
Novedades en Visual Studio OnlineNovedades en Visual Studio Online
Novedades en Visual Studio OnlineJavier Suárez Ruiz
 
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
 
Universal Windows Platform Bridges
Universal Windows Platform BridgesUniversal Windows Platform Bridges
Universal Windows Platform BridgesJavier Suárez Ruiz
 
Desarrollo para Microsoft Band con Xamarin
Desarrollo para Microsoft Band con XamarinDesarrollo para Microsoft Band con Xamarin
Desarrollo para Microsoft Band con XamarinJavier Suárez Ruiz
 
Introducción al desarrollo de aplicaciones Xamarin
Introducción al desarrollo de aplicaciones XamarinIntroducción al desarrollo de aplicaciones Xamarin
Introducción al desarrollo de aplicaciones XamarinJavier Suárez Ruiz
 
Xamarin Dev Days - Introducción a Xamarin
Xamarin Dev Days - Introducción a XamarinXamarin Dev Days - Introducción a Xamarin
Xamarin Dev Days - Introducción a XamarinJavier 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 XamarinJavier 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
 

La actualidad más candente (20)

Xamarin REvolve 2016
Xamarin REvolve 2016Xamarin REvolve 2016
Xamarin REvolve 2016
 
WinObjC: Windows Bridge para iOS
WinObjC: Windows Bridge para iOSWinObjC: Windows Bridge para iOS
WinObjC: Windows Bridge para iOS
 
Introduccion a Xamarin
Introduccion a XamarinIntroduccion a Xamarin
Introduccion a Xamarin
 
Adaptando Apps Xamarin.Forms a tabletas
Adaptando Apps Xamarin.Forms a tabletasAdaptando Apps Xamarin.Forms a tabletas
Adaptando Apps Xamarin.Forms a tabletas
 
Microsoft Tech Summit - Taller Xamarin
Microsoft Tech Summit - Taller XamarinMicrosoft Tech Summit - Taller Xamarin
Microsoft Tech Summit - Taller Xamarin
 
Xamarin for Everyone
Xamarin for EveryoneXamarin for Everyone
Xamarin for Everyone
 
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 al desarrollo de apps móviles multiplataforma con Xamarin.Forms
Introducción al desarrollo de apps móviles multiplataforma con Xamarin.FormsIntroducción al desarrollo de apps móviles multiplataforma con Xamarin.Forms
Introducción al desarrollo de apps móviles multiplataforma con Xamarin.Forms
 
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
 
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...
 
Novedades en Visual Studio Online
Novedades en Visual Studio OnlineNovedades en Visual Studio Online
Novedades en Visual Studio Online
 
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
 
Introducción a Xamarin
Introducción a XamarinIntroducción a Xamarin
Introducción a Xamarin
 
Universal Windows Platform Bridges
Universal Windows Platform BridgesUniversal Windows Platform Bridges
Universal Windows Platform Bridges
 
Desarrollo para Microsoft Band con Xamarin
Desarrollo para Microsoft Band con XamarinDesarrollo para Microsoft Band con Xamarin
Desarrollo para Microsoft Band con Xamarin
 
Introducción al desarrollo de aplicaciones Xamarin
Introducción al desarrollo de aplicaciones XamarinIntroducción al desarrollo de aplicaciones Xamarin
Introducción al desarrollo de aplicaciones Xamarin
 
Xamarin Dev Days - Introducción a Xamarin
Xamarin Dev Days - Introducción a XamarinXamarin Dev Days - Introducción a Xamarin
Xamarin Dev Days - Introducción a Xamarin
 
Introducción a Xamarin.Forms
Introducción a Xamarin.FormsIntroducción a Xamarin.Forms
Introducción a Xamarin.Forms
 
Xamarin Dev Days Madrid - Taller Xamarin
Xamarin Dev Days Madrid - Taller XamarinXamarin Dev Days Madrid - Taller Xamarin
Xamarin Dev Days Madrid - Taller Xamarin
 
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
 

Similar a Xamarin Dev Days Málaga 2017 - Apps conectadas con Azure

Computación en Windows Azure Platform 26 01-2011
Computación en Windows Azure Platform 26 01-2011Computación en Windows Azure Platform 26 01-2011
Computación en Windows Azure Platform 26 01-2011Gisela Torres
 
Comenzando con los Servicios Móviles en AWS
Comenzando con los Servicios Móviles en AWSComenzando con los Servicios Móviles en AWS
Comenzando con los Servicios Móviles en AWSAmazon Web Services LATAM
 
Aplicaciones Móviles Híbridas
Aplicaciones Móviles HíbridasAplicaciones Móviles Híbridas
Aplicaciones Móviles HíbridasScio Consulting
 
Desarrollo de aplicaciones saa s con herramientas de software libre
Desarrollo de aplicaciones saa s con herramientas de software libreDesarrollo de aplicaciones saa s con herramientas de software libre
Desarrollo de aplicaciones saa s con herramientas de software libreJonathan Franchesco Torres Baca
 
Visual Studio App Center: Nuestro centro de operaciones
Visual Studio App Center: Nuestro centro de operacionesVisual Studio App Center: Nuestro centro de operaciones
Visual Studio App Center: Nuestro centro de operacionesNicolas Milcoff
 
Encuentro IBM MobileFirst
Encuentro IBM MobileFirstEncuentro IBM MobileFirst
Encuentro IBM MobileFirstSura Gonzalez
 
Visual Studio 2017 Launch Event Sevilla
Visual Studio 2017 Launch Event SevillaVisual Studio 2017 Launch Event Sevilla
Visual Studio 2017 Launch Event SevillaJavier Suárez Ruiz
 
Jornada 10 años ASP NET en Español - Implementación de Notificaciones Push...
Jornada 10 años ASP NET en Español - Implementación de Notificaciones Push...Jornada 10 años ASP NET en Español - Implementación de Notificaciones Push...
Jornada 10 años ASP NET en Español - Implementación de Notificaciones Push...Luis Beltran
 
Visual Studio 2010 Ligthswitch + AZURE + Zero Code
Visual Studio 2010 Ligthswitch + AZURE + Zero CodeVisual Studio 2010 Ligthswitch + AZURE + Zero Code
Visual Studio 2010 Ligthswitch + AZURE + Zero CodeBruno Capuano
 
Microservicios sobre tecnologías Pivotal y VMware
Microservicios sobre tecnologías Pivotal y VMwareMicroservicios sobre tecnologías Pivotal y VMware
Microservicios sobre tecnologías Pivotal y VMwareAntonio Gallego
 
GWAB: Azure Mobile Services
GWAB: Azure Mobile ServicesGWAB: Azure Mobile Services
GWAB: Azure Mobile ServicesSorey García
 
atSistemas - Presentacion Hybreed
atSistemas - Presentacion HybreedatSistemas - Presentacion Hybreed
atSistemas - Presentacion HybreedJuanjo Sánchez
 
[Evento] Microsoft Azure | Azure Compute: una mirada en 360°
[Evento] Microsoft Azure | Azure Compute: una mirada en 360°[Evento] Microsoft Azure | Azure Compute: una mirada en 360°
[Evento] Microsoft Azure | Azure Compute: una mirada en 360°Pablo Ariel Di Loreto
 
Deletreando Android
Deletreando AndroidDeletreando Android
Deletreando Androidjezabelink
 

Similar a Xamarin Dev Days Málaga 2017 - Apps conectadas con Azure (20)

DotNetDom: El futuro de Xamarin
DotNetDom: El futuro de XamarinDotNetDom: El futuro de Xamarin
DotNetDom: El futuro de Xamarin
 
Computación en Windows Azure Platform 26 01-2011
Computación en Windows Azure Platform 26 01-2011Computación en Windows Azure Platform 26 01-2011
Computación en Windows Azure Platform 26 01-2011
 
Azure Notification Hub
Azure Notification HubAzure Notification Hub
Azure Notification Hub
 
Visual Studio App Center
Visual Studio App CenterVisual Studio App Center
Visual Studio App Center
 
Comenzando con los Servicios Móviles en AWS
Comenzando con los Servicios Móviles en AWSComenzando con los Servicios Móviles en AWS
Comenzando con los Servicios Móviles en AWS
 
Aplicaciones Móviles Híbridas
Aplicaciones Móviles HíbridasAplicaciones Móviles Híbridas
Aplicaciones Móviles Híbridas
 
Desarrollo de aplicaciones saa s con herramientas de software libre
Desarrollo de aplicaciones saa s con herramientas de software libreDesarrollo de aplicaciones saa s con herramientas de software libre
Desarrollo de aplicaciones saa s con herramientas de software libre
 
Push notifications
Push notificationsPush notifications
Push notifications
 
Visual Studio App Center: Nuestro centro de operaciones
Visual Studio App Center: Nuestro centro de operacionesVisual Studio App Center: Nuestro centro de operaciones
Visual Studio App Center: Nuestro centro de operaciones
 
Encuentro IBM MobileFirst
Encuentro IBM MobileFirstEncuentro IBM MobileFirst
Encuentro IBM MobileFirst
 
Visual Studio 2017 Launch Event Sevilla
Visual Studio 2017 Launch Event SevillaVisual Studio 2017 Launch Event Sevilla
Visual Studio 2017 Launch Event Sevilla
 
Jornada 10 años ASP NET en Español - Implementación de Notificaciones Push...
Jornada 10 años ASP NET en Español - Implementación de Notificaciones Push...Jornada 10 años ASP NET en Español - Implementación de Notificaciones Push...
Jornada 10 años ASP NET en Español - Implementación de Notificaciones Push...
 
Visual Studio 2010 Ligthswitch + AZURE + Zero Code
Visual Studio 2010 Ligthswitch + AZURE + Zero CodeVisual Studio 2010 Ligthswitch + AZURE + Zero Code
Visual Studio 2010 Ligthswitch + AZURE + Zero Code
 
Microservicios sobre tecnologías Pivotal y VMware
Microservicios sobre tecnologías Pivotal y VMwareMicroservicios sobre tecnologías Pivotal y VMware
Microservicios sobre tecnologías Pivotal y VMware
 
Presentación cloud sourceit v7
Presentación cloud sourceit v7Presentación cloud sourceit v7
Presentación cloud sourceit v7
 
GWAB: Azure Mobile Services
GWAB: Azure Mobile ServicesGWAB: Azure Mobile Services
GWAB: Azure Mobile Services
 
atSistemas - Presentacion Hybreed
atSistemas - Presentacion HybreedatSistemas - Presentacion Hybreed
atSistemas - Presentacion Hybreed
 
[Evento] Microsoft Azure | Azure Compute: una mirada en 360°
[Evento] Microsoft Azure | Azure Compute: una mirada en 360°[Evento] Microsoft Azure | Azure Compute: una mirada en 360°
[Evento] Microsoft Azure | Azure Compute: una mirada en 360°
 
Xamarin y Microsoft Azure
Xamarin y Microsoft AzureXamarin y Microsoft Azure
Xamarin y Microsoft Azure
 
Deletreando Android
Deletreando AndroidDeletreando Android
Deletreando Android
 

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
 
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
 
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
 
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
 
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
 
OpenSouthCode 2018: Taller Xamarin
OpenSouthCode 2018: Taller XamarinOpenSouthCode 2018: Taller Xamarin
OpenSouthCode 2018: Taller XamarinJavier Suárez Ruiz
 
DotNet2018: Xamarin.Forms Everywhere!
DotNet2018: Xamarin.Forms Everywhere!DotNet2018: Xamarin.Forms Everywhere!
DotNet2018: Xamarin.Forms Everywhere!Javier 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
 
Aumento de productividad, herramientas Xamarin
Aumento de productividad, herramientas XamarinAumento de productividad, herramientas Xamarin
Aumento de productividad, herramientas XamarinJavier Suárez Ruiz
 

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

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
 
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
 
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
 
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
 
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
 
Taller Xamarin Monkey Conf 2018
Taller Xamarin Monkey Conf 2018Taller Xamarin Monkey Conf 2018
Taller Xamarin Monkey Conf 2018
 
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
 
OpenSouthCode 2018: Taller Xamarin
OpenSouthCode 2018: Taller XamarinOpenSouthCode 2018: Taller Xamarin
OpenSouthCode 2018: Taller Xamarin
 
DotNet2018: Xamarin.Forms Everywhere!
DotNet2018: Xamarin.Forms Everywhere!DotNet2018: Xamarin.Forms Everywhere!
DotNet2018: Xamarin.Forms Everywhere!
 
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
 
Introducción a Xamarin.Forms
Introducción a Xamarin.FormsIntroducción a Xamarin.Forms
Introducción a Xamarin.Forms
 
Introducción a Xamarin
Introducción a XamarinIntroducción a Xamarin
Introducción a Xamarin
 
Aumento de productividad, herramientas Xamarin
Aumento de productividad, herramientas XamarinAumento de productividad, herramientas Xamarin
Aumento de productividad, herramientas Xamarin
 

Último

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
 
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
 
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
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
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
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
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
 
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
 
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
 
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
 
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
 
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
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
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
 
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
 
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
 
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
 
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
 

Último (19)

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
 
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)
 
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
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
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
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
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
 
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
 
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
 
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
 
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
 
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...
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
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
 
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
 
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...
 
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
 
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
 

Xamarin Dev Days Málaga 2017 - Apps conectadas con Azure

  • 1.
  • 2. Visual Studio Technologies & Windows Platform Development MVP Xamarin MVP Xamarin Team Lead at Plain Concepts • Blog: http://geeks.ms/blogs/jsuarez • Email: javiersuarezruiz@hotmail.com • Twitter: @jsuarezruiz
  • 3.
  • 5. La media de apps que un usuario instala en su teléfono es de 36 apps.
  • 6. Sólo 1/4 son usadas diariamente:
  • 7. 1/4 de las apps nunca son usadas!
  • 8.
  • 11.
  • 12.
  • 14. AZURE
  • 15. Código base C# • 100% acceso a APIs nativas • Rendimiento alto iOS C# UI Windows C# UIAndroid C# UI Shared C# Mobile C# Server Linux/Mono CoreCLRAzure Shared C# Client/Server + servicios de Backend
  • 16. Web Apps Mobile Apps API Management API Apps Logic Apps Notification Hubs Content Delivery Network (CDN) Media Services HDInsight Machine Learning Stream Analytics Data Factory Event Hubs Mobile Engagement Biztalk Services Hybrid Connections Service Bus Storage Queues Backup StorSimple Site Recovery Import/Export SQL Database DocumentDB Redis Cache Search Tables SQL Data Warehouse Azure AD Connect Health AD Privileged Identity Mngt Operational Insights Cloud Services Batch Remote App Service Fabric Visual Studio Application Insights Azure SDK Team Project Active Directory Multi-Factor Authentication Automation Portal Key Vault Store / Marketplace VM Image Gallery & VM Depot SEGURIDAD & GESTIÓN SERVICIOS DE PLATAFORMA OPERACIONES HÍBRIDAS
  • 18. RESTAPI Offline sync Facebook Twitter Microsoft Google Azure Active Directory AZURE MOBILE APPS WindowsAndroid Chrome iOS OSX In-AppKindle Backend SQL MongoTables O365 API Apps Offline Sync
  • 19. Crear un Mobile Service MobileService = new MobileServiceClient( "https://myapp.azurewebsites.net");
  • 20. Crear Tablas IMobileServiceSyncTable<Store> table; public async Task Init() { const string path = "syncstore.db"; var db = new MobileServiceSQLiteStore(path); db.DefineTable<Store>(); } var handler = new MobileServiceSyncHandler(); await MobileService.SyncContext.InitializeAsync(db, h); table = MobileService.GetSyncTable<Store>();
  • 21. Obtener y modificar los datos public async Task<IEnumerable<Store>> GetStoresAsync() { await table.PullAsync("allStores", table.CreateQuery()); return await table.ToEnumerableAsync(); } public async Task<Store> AddStoreAsync (Store store) { await table.InsertAsync (store); await table.PullAsync("allStores", table.CreateQuery()); await MobileService.SyncContext.PushAsync(); return store; }
  • 22. Vamos a añadir un backend!
  • 23.
  • 24. Shared C# codebase • 100% native API access • High performance iOS C# UI Windows C# UIAndroid C# UI Shared C# Mobile C# Server Linux/Mono CoreCLRAzure Shared C# Client/Server + SERVER
  • 26. AUTENTICACIÓN EN AZURE Azure utiliza OAuth para identificar usuarios móviles. Oauth define como interactuán entre sí tres participantes para llevar a cabo el proceso de autenticación: • Cliente (App Xamarin) • Azure • Proveedor de identidad (Idp)
  • 27. PROVEEDORES DE IDENTIDAD DE TERCEROSAzure soporta la autenticación utilizando diferentes proveedores de identidad de terceros.
  • 28. PROVEEDORES DE IDENTIDAD Azure también soporta utilizar Azure Active Directory. Podemos utilizar esta opción para realizar autenticación empresarial. También es posible utilizar Azure Active Directory B2C que permite utilizar usuario/contraseña en un almacenamiento Azure.
  • 29. PROVEEDORES DE IDENTIDAD También se puede realizar la integración con proveedores de identidad personalizdos.
  • 30. EL FLUJO DE AUTENTICACIÓN 1. El cliente utiliza un WebView para mostrar la página de Login 2. Azure redirecciona a la página de Login correcta para cada IdP (Twitter, Facebook, etc.) 3. El usuario se autentica con sus credenciales en el IdP. 4. El IdP redirecciona con un Token. 5. Se valida el Token con Azure y finalmente llega al cliente.
  • 31.
  • 33. NOTIFICACIONES PUSH • Las notificaciones Push nos ofrecen una vía de comunicación directa con los clientes de aplicaciones móviles incluso cuando no esten con la aplicación abierta. • Las notificaciones Push se envían utilizando estructuras específicas de cada plataforma llamadas Platform Notification Systems (PNS). Back- end PN S Device 1 2 3 4 Comunicación con PNS Gestión de PNS Envía notificación Enviar al dispositivo
  • 34. NOTIFICACION ES PUSH • Gestión de usuarios • Dependencia con plataforma • Escalabilidad • Monitorización • Telemetría
  • 35. AZURE NOTIFICATIONS HUB Las claves: • Fácil de utilizar, multiplataforma, infraestructura escalable • Envía notificaciones push a cada plataforma utilizando platform notification services (PNS)
  • 36. AZURE NOTIFICATIONS HUB Soporte a gran variedad de PNS  Windows Notification Service  Microsoft Push Notification Service  Apple Push Notification Service  Firebase Cloud Messaging  Google Cloud Messaging  Baidu Cloud Push  Amazon Device Messaging Se soporta una gran variedad de dispositivos  Windows Phones, Tablets & PCs con Windows 8 o 10  iOS  Chrome Apps  Android  Amazon Kindles
  • 38.
  • 40. SYNC
  • 41.
  • 44. Online vs Offline Los dispositivos móviles a menudo pasan por diferentes estados y condiciones que afectan a las aplicaciones. Entre el cambio de estado más habitual se encuentra la falta de acceso a internet. Como desarrolladores, debemos decider si nuestra aplicación deja de funcionar offline (no permite el acceso a apartados, etc.) o bien si se añade una cache offline que permita seguir trabajando.
  • 45. Sincronización Offline Azure permite la sincronización offline de los datos con pocas líneas de código. Los beneficios: • Permite el acceso a la información sin red. • Sincronización automática de datos con cache local. • Control sobre cuándo se realiza la sincronización.
  • 46.
  • 47. A comer! Javier Suárez Ruiz javiersuarezruiz@hotmail.com https://javiersuarezruiz.wordpress.com @jsuarezruiz