Aplicaciones conectadas con Azure

16
Aplicaciones conectadas con Azure Alejandro CTO @ Los Xamarinos @alejandroruizva

Transcript of Aplicaciones conectadas con Azure

Page 1: Aplicaciones conectadas con Azure

Aplicaciones conectadas con AzureAlejandroCTO @ Los Xamarinos@alejandroruizva

Page 2: Aplicaciones conectadas con Azure

• Errores• Difíciles de utilizar• Características no anunciadas• Experiencia lenta• Datos no disponibles al inicio

Malas experiencias de Apps

Page 3: Aplicaciones conectadas con Azure

¿Siempre conectados?

Page 4: Aplicaciones conectadas con Azure

100+ centros de datosTop 3 en redes mundialesRegiones: 2x AWS, 6x GoogleG Series – Las MV más grandes del mundo

Operacionales

Anunciadas

* Operadas por 21Vianet

24Regiones de Azurehasta hoyMas que AWS y Google juntos

Infrastructurapara crecer

Centros de datos agregados en Canadá, China e India

Page 5: Aplicaciones conectadas con Azure

• Extremadamente poderosas• Flexibles• Easy Tables (Node.js)• App Service (ASP.NET)

• SDK para cada plataforma• iOS, Android y Windows

• Open source C#• Todos en GitHub

¿Por qué Azure Mobile Apps?

Page 6: Aplicaciones conectadas con Azure

REST

API

Sincronización offline Notificaciones

Conexiones a datos

Autenticación de usuario

Facebook

Twitter Microsoft Google

Azure Active

Directory

Azure Mobile Apps

WindowsAndroid

Chrome

iOS OSX

In-AppKindle

Xamarin, iOS, Android y Windows SDKs

Código de backend

SQL MongoTables O365 API Apps

Offline Sync

Page 7: Aplicaciones conectadas con Azure

¡Vamos a crear Apps!

Page 8: Aplicaciones conectadas con Azure

Crea un servicio rápido

MobileService = new MobileServiceClient("https://myapp.azurewebsites.net");

Page 9: Aplicaciones conectadas con Azure

Crear tablasIMobileServiceSyncTable<TodoItem> syncTable;

public async Task Init(){ const string path = "syncstore.db"; var db = new MobileServiceSQLiteStore(path); db.DefineTable<TodoItem>();

}

await MobileService.SyncContext.InitializeAsync(db); syncTable = MobileService.GetSyncTable<TodoItem>();

Page 10: Aplicaciones conectadas con Azure

Obtener y enviar datosprivate async Task SyncAsync(){    await MobileService.SyncContext.PushAsync();    var query = syncTable.CreateQuery();     await syncTable.PullAsync("todoItems", query);}

private async Task InsertTodoItem(TodoItem todoItem){    await syncTable.InsertAsync(todoItem);    await MobileService.SyncContext.PushAsync();}

Page 11: Aplicaciones conectadas con Azure

Consultar una table local

public async Task<IEnumerable<TodoItem>> GetOpenItemsAsync(){    return await todoTable                 .Where(item => item.Complete == false)                 .ToEnumerableAsync();} 

Page 12: Aplicaciones conectadas con Azure

¡Y mucho más!

Page 13: Aplicaciones conectadas con Azure

Notificaciones con Notification Hub

Backend

Platform Notification Service

Notification Hub

1. Obtener un PNS

4. Enviar a dispositivos

2. Almacenar el PNS 3b. Solicitud de notificaciónUsa conexiones de dispositivos

3a. Solicitud de notificación

Usar tags lógicos

5. Manejar dispositivos

Page 14: Aplicaciones conectadas con Azure

• Archivos sincronizados con Azure Storage• Online/Offline

Sincronización de archivos

Page 15: Aplicaciones conectadas con Azure

Código compartido • Acceso a APIs nativas 100% • Gran rendimiento

iOS C# UI

Windows C# UIAndroid C# UI

Shared C# Mobile

C# Server

Linux/MonoCoreCLRAzure

Shared C# Client/Server

Mobile + Server =

Page 16: Aplicaciones conectadas con Azure

Comienza hoyxamarin.com/downloadxamarin.com/azurexamarin.com/dev-ops