View
18
Download
0
Category
Preview:
Citation preview
Aplicaciones conectadas con AzureAlejandroCTO @ Los Xamarinos@alejandroruizva
• Errores• Difíciles de utilizar• Características no anunciadas• Experiencia lenta• Datos no disponibles al inicio
Malas experiencias de Apps
¿Siempre conectados?
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
• 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?
REST
API
Sincronización offline Notificaciones
Conexiones a datos
Autenticación de usuario
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
¡Vamos a crear Apps!
Crea un servicio rápido
MobileService = new MobileServiceClient("https://myapp.azurewebsites.net");
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>();
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();}
Consultar una table local
public async Task<IEnumerable<TodoItem>> GetOpenItemsAsync(){ return await todoTable .Where(item => item.Complete == false) .ToEnumerableAsync();}
¡Y mucho más!
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
• Archivos sincronizados con Azure Storage• Online/Offline
Sincronización de archivos
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 =
Comienza hoyxamarin.com/downloadxamarin.com/azurexamarin.com/dev-ops
Recommended