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

Enterprise-Apps mit Xamarin und den Azure App S...

Enterprise-Apps mit Xamarin und den Azure App Services entwickeln

Avatar for Jörg Neumann

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