Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Xamarin Fest Day - 2017

Xamarin Fest Day - 2017

Lucas Marques

May 22, 2017
Tweet

More Decks by Lucas Marques

Other Decks in Programming

Transcript

  1. Lucas Marques Developer @ Braspag Tecnologia em Pagamentos Co-Founder @

    MoreCodding medium.com/@lmarquesmoreira linkedin.com/in/lmarquesmoreira github.com/lmarquesmoreira morecodding.com.br
  2. Agenda • Cross Platform Apps • Introdução ao Xamarin •

    Azure Mobile Apps • Com Application Insights • Cognitive Services • Voice Detection • Microsoft Mobile Center • DevOps • Analytics • Azure Push Notifications
  3. A visão “.NET e dispositivos” Uma ferramenta Habilidades unificadas Lógica

    do cliente compartilhada Código customizado para telas (~20%) Portable Libraries C# / .NET Libraries
  4. O que é Xamarin? Extensão do Visual Studio • iOS,

    Android apps dentro do Visual Studio • Compila código de C# em aplicativos nativos • Todos os recursos do Visual Studio disponíveis Criar aplicativos mais rápido • Mesmas práticas • Reutiliza código e binário de forma flexível • Interfaces totalmente nativas
  5. Compilação nativa, desempenho nativo Xamarin.iOS faz uma compilação Ahead Of

    Time (AOT) para produzir um binário ARM pronto para Apple’s App Store Xamarin.Android faz uma compilação Just In Time (JIT) no dispositivo Android ARM BINARY Runs natively .APP AOT .NET C# Bindings .APK Compile and Link .NET C# Bindings IL + JIT Runs natively
  6. iOS C# UI Windows C# UI Android C# UI Shared

    C# logic A abordagem exclusiva da Xamarin Shared C# codebase • 100% native API access • High performance
  7. Native UI • 3 Native User Interfaces • Shared App

    Logic iOS C# Windows C# Android C# Shared C# Logic
  8. iOS – 100% API coverage MapKit UIKit iBeacon CoreGraphics CoreMotion

    System.Data System.Windows System.Numerics System.Core System.ServiceModel System.Net System System.IO System.Linq System.Xml C#
  9. Android – 100% API coverage Text-to-speech ActionBar Printing Framework Renderscript

    NFC System.Data System.Windows System.Numerics System.Core System.ServiceModel System.Net System System.IO System.Linq System.Xml C#
  10. • Erros • Difíceis de usar • Características não anunciadas

    • Experiência lenta • Sem dados disponíveis no início Experiências ruins em aplicativos
  11. 100+ datacenters Top 3 em redes globais Regiões: 2x AWS,

    6x Google G Series – As maiores MV do mundo Operacionales Anunciadas * Operadas por 21Vianet Infrastructura para crescer
  12. • Extremamente poderoso • Flexível • Easy Tables (Node.js) •

    App Service (ASP.NET) • SDK para cada plataforma • iOS, Android e Windows • Open source C# • Tudo no GitHub Por que Azure Mobile Apps?
  13. REST API Sincronização offline Facebook Twitter Microsoft Google Azure Active

    Directory Azure Mobile Apps Windows Android Chrome iOS OSX In-App Kindle Código de backend SQL Mongo Tables O365 API Apps Offline Sync
  14. Criar tabelas IMobileServiceSyncTable<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>(); }
  15. Coletar e enviar dados private 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(); }
  16. Consultar uma tabela local public async Task<IEnumerable<TodoItem>> GetOpenItemsAsync() { return

    await todoTable .Where(item => item.Complete == false) .ToEnumerableAsync(); }
  17. Notificações com Notification Hub Notification Hub 1. Obter um PNS

    4. Enviar aos dispositivos 2. Almazenar o PNS 3b. Pedido de notificação Usa conexão de dispositivo 3a. Pedido de notificação Usa tags lógicos 5. Gerenciar dispositivos
  18. Código compartilhado • Acesso a APIs nativas 100% • Grande

    performance iOS C# UI Windows C# UI Android C# UI Shared C# Mobile C# Server Linux/Mono CoreCLR Azure Shared C# Client/Server Mobile + Server = 
  19. Microsoft Cognitive Services De rostos a sentimentos, permita que seus

    apps entendam imagens e vídeos Ouça e fale com seus usuários filtrando o ruído, identificando os falantes e compreendendo a intenção Processe o texto e saiba como reconhecer o que os usuários querem Aproveite o rico conhecimento acumulado na web, na academia ou nos seus próprios dados Acesse bilhões de páginas da web, imagens, vídeos e notícias com o poder das APIs Bing
  20. Cognitive Services Emotion Speaker Recognition Speech Custom Recognition Computer Vision

    Face Video microsoft.com/cognitive Search Speech Language Knowledge Vision Linguistic Analysis Language Understanding Bing Spell Check Entity Linking Knowledge Exploration Academic Knowledge Bing Image Search Bing Video Search Bing Web Search WebLM Text Analytics Recommendations Bing Autosuggest Bing News Search Translator