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

Enterprise-Apps mit Xamarin und den Azure App Services entwickeln

Enterprise-Apps mit Xamarin und den Azure App Services entwickeln

Jörg Neumann

March 01, 2018
Tweet

More Decks by Jörg Neumann

Other Decks in Programming

Transcript

  1. JÖRG NEUMANN THEMEN ▪ Mobile Development ▪ UI-Technologien ▪ Consulting,

    Coaching, Training KONTAKT ▪ Mail: [email protected] ▪ Twitter: @JoergNeumann ▪ GitHub: https://github.com/JoergNeumann ▪ Blog: www.HeadWriteLine.BlogSpot.com
  2. CONTINUOUS INTEGRATION SYNCHRONIZATION MOBILE BACKEND DATABASE CROSS-PLATFORM APP STAGING ENVIRONMENT

    MOBILE BACKEND DATABASE PUSH NOTIFICATIONS OFFLINE-SUPPORT MONITORING SECURITY
  3. SYNCHRONIZATION MOBILE BACKEND DATABASE CROSS-PLATFORM APP PUSH NOTIFICATIONS OFFLINE-SUPPORT MONITORING

    SECURITY Xamarin SQLite Web API OData Entity Framework OAuth Social Login Conflict Resolution
  4. AZURE MOBILE APPS FEATURES ▪ .NET/Node basierte Endpunkte ▪ Data

    Management ▪ Authentifizierung ▪ Push Notifications ▪ Offline-Funktionalität ▪ CI über GitHub, BitBucket, VSTS
  5. AZURE MOBILE APPS Resource Group App Services My Mobile Service

    SQL Azure ▪ Region („USA, Westen“, „USA, Osten“, …) ▪ Skalierung (Instanzenanzahl) ▪ Instanzgröße (klein, mittel, groß) ▪ SKU (Free, Shared, Basic, Standard, Premium) App Service Plan
  6. SYNCHRONIZATION MOBILE BACKEND DATABASE CROSS-PLATFORM APP PUSH NOTIFICATIONS OFFLINE-SUPPORT MONITORING

    SECURITY public class Person { [JsonProperty(PropertyName = "id")] public string Id { get; set; } [JsonProperty(PropertyName = "name")] public string Name { get; set; } } Client Model public class Person : EntityData { public string Name { get; set; } } Service Model public class EntityData { public string Id { get; set; } public byte[] Version { get; set; } public DateTime CreatedAt { get; set; } public DateTime UpdatedAt { get; set; } public bool Deleted { get; set; } } EntityData
  7. SYNCHRONIZATION MOBILE BACKEND DATABASE CROSS-PLATFORM APP PUSH NOTIFICATIONS OFFLINE-SUPPORT MONITORING

    SECURITY private void GetData() { var mobileService = new MobileServiceClient( new Uri("https://myapp.azurewebsites.net/")); var table = mobileService.GetTable<TodoItem>(); var items = await table .Where(item => item.Complete == false) .ToCollectionAsync(); list.ItemsSource = items; } MobileServiceClient / IMobileServiceTable<T> public class TodoItemController : TableController<TodoItem> { public IQueryable<TodoItem> GetAllTodoItems() { … } public SingleResult<TodoItem> GetTodoItem(string id) { … } public Task<TodoItem> PatchTodoItem( string id, Delta<TodoItem> patch) { … } public async Task<IHttpActionResult> PostTodoItem( TodoItem item) { … } public Task DeleteTodoItem(string id) { … } } TableController
  8. OFFLINE SUPPORT FUNKTIONSWEISE ▪ Transparenter Zugriff auf Daten (online/offline) ▪

    Daten werden in lokaler Queue gehalten und autom. synchronisiert wenn Device wieder online ist ▪ Integrierte Konflikterkennung
  9. ANALYTICS LOCAL TESTING ▪ Der Service kann lokal ausgeführt werden

    REMOTE DEBUGGER ▪ Es kann ein Debugger auf den Azure Service attached werden DIAGNOSTIC LOGGING ▪ Logging für App Service & Web Server ▪ Konfiguration: Monitoring/Diagnostic logs LOG STREAM ▪ Realtime Tracing ▪ Aktivierung: Monitoring/Log stream
  10. AUTHENTICATION VARIANTEN ▪ Client- und Server Flow PROVIDERS ▪ Facebook

    ▪ Twitter ▪ Google ▪ Microsoft ▪ Azure AD ▪ OAuth2 ▪ Custom GOOGLE FACEBOOK TWITTER MOBILE SERVICE DEVICE MICROSOFT
  11. PUSH NOTIFICATIONS CROSS-PLATTFORM PUSH ▪ Zentralisierter Versand von Push Messages

    für die verschiedenen Plattformen ▪ Nutzt Azure Notification Hubs
  12. FAZIT Mobile Backends zu entwickeln ist keine leichte Aufgabe ▪

    Offline Support, Security, Synchronisation, ... Azure Mobile Apps können helfen ▪ Hosting, Auth, Push Notifications, CI, ... Vorgefertigte Frameworks für Client & Server ▪ .NET, JavaScript, Native ▪ Open Source
  13. RESSOURCEN AZURE MOBILE APPS DEVELOPER CENTER ▪ https://azure.microsoft.com/en-us/services/app-service/mobile/ MOBILE APPS

    MIT XAMARIN: GET STARTED ▪ https://docs.microsoft.com/de-de/azure/app-service-mobile/app-service-mobile- xamarin-forms-get-started QUICKSTARTS FOR MICROSOFT AZURE MOBILE APPS ▪ https://github.com/Azure/azure-mobile-apps-quickstarts MOBILE APPS DEVELOPER FORUM ▪ https://social.msdn.microsoft.com/forums/azure/en-US/home?forum=azuremobile
  14. RESSOURCEN WHAT ARE MOBILE APPS ▪ https://azure.microsoft.com/en-us/documentation/articles/app-service-mobile-value- prop-preview/ MOBILE APPS

    SDK ON GITHUB ▪ https://github.com/Azure/azure-mobile-apps EBOOK: DEVELOP CLOUD CONNECTED MOBILE APPS ▪ https://adrianhall.github.io/develop-mobile-apps-with-csharp-and-azure/ VIDEO: AZURE MOBILE APPS ENTWICKELN UND DEBUGGEN ▪ https://www.microsoft.com/germany/techwiese/know- how/video.aspx?id=msdn_de_68745