xamarin dev days - connected & disconnected apps with azure mobile apps
Embed Size (px)
TRANSCRIPT
PowerPoint Presentation
Guy BarretteFreelance Architect/DeveloperAzure MVP, Microsoft Regional Directors [email protected] & Disconnected Apps with Azure Mobile Apps
Quick introduction overview ofAzure Mobile App
Common mobile challengesAzure overviewWhy Azure Mobile App?DemoOffline/SyncPush notificationsGet started!Agenda
Common Mobile Challenges
What about a backend?
Plenty of Options
Amazon Web ServicesAzure Mobile AppsIBM MobileFirst Oracle Mobile CloudSQLCIipherCouchbaseRealmSQLite-net
Azure
Infrastructure ServicesMedia & CDNContent DeliveryNetwork (CDN)
MediaServices
Analytics & IoTHDInsight
MachineLearning
StreamAnalytics
DataFactory
EventHubs
MobileEngagement
IntegrationBiztalkServices
HybridConnections
ServiceBus
StorageQueues
Backup
StorSimple
SiteRecovery
Import/Export
DataSQLDatabase
DocumentDB
RedisCache
Search
Tables
SQL DataWarehouse
Azure AD Connect Health
StorageBLOB StorageAzure FilesPremium Storage
AD PrivilegedIdentity Mngt
OperationalInsights
ComputeCloudServices
Batch
Remote App
ServiceFabric
Developer ServicesVisual Studio
ApplicationInsights
Azure SDKTeam Project
ComputeWindowsLinuxContainers
ActiveDirectory
Multi-FactorAuthentication
Automation
Portal
Key Vault
Store /Marketplace
VM Image Gallery& VM DepotNetworkingVirtual NetworkExpressRouteTraffic ManagerLoad BalancerDNSVPN GatewayApplication Gateway
Security & ManagementPlatform ServicesHybrid OperationsApp PlatformWeb Apps
MobileApps
APIManagement
APIApps
LogicApps
NotificationHubs
10
Api AppsEasily build and consume APIs in the cloud
Web AppsWeb apps that scale with your business
LOGIC AppsAutomate business process across SaaS and on-premises
Mobile AppsBuild Mobile apps for any device
Azure App Service
Web Apps
Logic Apps
Mobile Apps
API Apps
httpSQL
Customer siteAdministration App
Order Completed
Customer App
REST API
Offline sync
Push Notifications
Data connections
User Authentication
FacebookTwitterMicrosoftGoogleAzure Active Directory
Azure Mobile Apps
Windows
AndroidChromeiOS OSX
In-App
Kindle
Xamarin, iOS, Android & Windows SDKsBackend code
SQL
MongoTables
O365
API Apps
Offline Sync
FlexibleEasy TablesApp ServiceC# SDKs available everywhere:C#- iOS, Android, & Windows with XamarinC# clients, written by C# developers (open source)C# backend with ASP.NETScalable
Why Azure Mobile App?
Extremely powerfulYou can do almost anything your backend would ever need to do with Azure. Data storage, authentication/authorization, push notifications, custom APIs, blob storage, etc.FlexibleNeed something lightweight? Azure is there.Need something robust and powerful? Azure is there.C# clientsIm a frontend developer, I care a lot about how easy this makes MY job (selfish)Many C# clients are written by Java developers, etc.Easy to use C# clientAbstracts away much of pain of using a RESTful APIC# FeaturesAsync / Await / TPLUses C# idiomsProperties, Fluent APISeems obvious, but not always true (first class citizen)
14
Shared C# codebase 100% native API access High performance iOS C# UI Windows C# UIAndroid C# UIShared C# Mobile
C# Server
Shared C# Client/ServerXamarin Apps + Mobile App C# BackendC#
With Xamarin it just isnt your front end in C# it is your full backend server as well. With Azure or even on Linux running Mono or the CoreCLR your app is fully C# end to end!Build 2015 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.9/25/2016 7:37 AM15
Shared C# codebase 100% native API access High performance iOS C# UI Windows C# UIAndroid C# UIShared C# Mobile
Node.JS Server
Shared C# Client/ServerXamarin Apps + Mobile App Node.JS BackendJavaScriptEasy
With Xamarin it just isnt your front end in C# it is your full backend server as well. With Azure or even on Linux running Mono or the CoreCLR your app is fully C# end to end!Build 2015 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.9/25/2016 7:37 AM16
Shared C# codebase 100% native API access High performance iOS C# UI Windows C# UIAndroid C# UIShared C# Mobile
??
Shared C# Client/ServerXamarin Apps + Whatever Backend?
With Xamarin it just isnt your front end in C# it is your full backend server as well. With Azure or even on Linux running Mono or the CoreCLR your app is fully C# end to end!Build 2015 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.9/25/2016 7:37 AM17
DemoLets add a backend
Always connected?
http://opensignal.com/coverage-maps
Access data from Mobile Apps tables even when app is offlineKeep a local queue of Create, Update, Delete operations and synchronize with server when app is back onlineDetect conflicts when same item is changed both locally and on serverUse soft delete to remove deleted records from client data storesOffline Sync - How it works
Rolling your own account infrastructure is difficult and time-consumingSecure your app with prebuilt authentication providersFacebookTwitterGoogleMicrosoftAzure ADAnything OAuth 2Authentication
What if a GetAll should only return favorites for that user.25
Easy-to-use, multiplatform scaled push infrastructure that allows you to send push notifications almost anywhere.
Push Notifications
SO Hard!Azure makes it easyHuge value in having this integrated with data... you can just say fire a push IF26
Get started!https://tryappservice.azure.com/Create a free Mobile App that will live for an hourNo account, no CC requiredAzure free trial$200 credit to use in the first monthVisual Studio Dev EssentialsAzure credit ($25/month for 12 months)MSDN account?Azure credit, up to $150/monthBizSparkAzure credit, up to $750/month
Questions?
2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.9/25/201628