connected & disconnected apps with azure mobile apps
Embed Size (px)
TRANSCRIPT
PowerPoint Presentation
#XamarinDevDays
Maurizio [email protected] MobilesoftConnected & Disconnected Apps with Azure Mobile Apps
We Apps!
224Mdownloads a day
5hours on phone a day
90%time onapps
The average app user has 36 apps installed on his or her phone.
Only 1/4 are used daily:
1/4 of apps are never used!
Slow or laggy experienceCrashesNot intuitive & bad user experienceFeatures not as advertisedData not available when you need it
Bad App Experiences
Always connected?
http://opensignal.com/coverage-maps
http://opensignal.com/coverage-maps
What about a backend?
On average, 5462% of costs are associated with infrastructureHosting solutionsSystem AdministratorDB AdministratorBackupScalingContinuous Deployment
Reducing Mobile App Development Costs
Platform As A Service (PAAS)
Plenty of Options
Amazon Web ServicesAzure Mobile AppsIBM MobileFirst Oracle Mobile CloudFirebaseCouchbaseRealm Parse
FlexibleEasy Apis/TablesApp Service!C# SDKs available everywhere:C# iOS, Android, & Windows with XamarinC# clients, written by C# developers (open source)C# backend with ASP.NETNode.js for backend!Continuous deployment / integration
Why Azure?
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)
15
Shared C# codebase 100% native API access High performance iOS C# UI Windows C# UIAndroid C# UIShared C# Mobile
C# Server
Linux/MonoCoreCLR
AzureShared C# Client/ServerXamarin Apps + Backend Services
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.11/17/16 9:40 AM16
Azure Mobile Apps
Windows
AndroidChromeiOS OSX
Kindle
Shared C# codebase 100% native API access High performance iOS C# UI Windows C# UIAndroid C# UIShared C# Mobile
C# Server
Linux/MonoCoreCLR
AzureShared C# Client/ServerMobile + Server
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.11/17/16 9:40 AM18
New template on Visual Studio for Mac
Node.jsEasy authorization (CRUD based on REST actions)Online Editor! Integrated on Client SDKs
Easy APIs
What if a GetAll should only return favorites for that user.20
Great for simple data storageVisual Editor to create tables or create tables based on the apps model!!CRUDSupport Authorization/AuthenticationTrigger events on CRUD (ex. Send a push when an item is added to a table)
Easy Tables
What if a GetAll should only return favorites for that user.21
Allow end-users to create and modify data even when there is no network accessSync works across multiple devicesSQLite DatabaseClient SDK available for Xamarin, alternatively use REST APIBackend written in Node.jsOffline Sync
What if a GetAll should only return favorites for that user.22
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.23
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 IF24
Sync files to Azure Storage, just like you did for structured data.File Sync
25
Lets add a backend
Connected Services on Visual Studio for Mac
Create app from Azure Portal!!!
28
Lunch!
MaurizioMoriconiCTO [email protected]@bugman79
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.11/17/1629