connected & disconnected apps with azure mobile apps
TRANSCRIPT
#XamarinDevDays
Maurizio Moriconi@bugman79CTO Mobilesoft
Connected & Disconnected Apps with Azure Mobile Apps
We Apps!
224Mdownloads
a day
5hours on
phone a day
90%time on
apps
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 experience• Crashes• Not intuitive & bad user experience• Features not as advertised• Data 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, 54—62% of costs are associated with infrastructure
• Hosting solutions• System Administrator• DB Administrator• Backup• Scaling• Continuous Deployment
Reducing Mobile App Development Costs
Platform As A Service (PAAS)
Plenty of Options
Amazon Web Services
Azure Mobile Apps IBM MobileFirst
Oracle Mobile Cloud
Firebase Couchbase
Realm
Parse
• Flexible• Easy Apis/Tables• App Service!
• C# SDKs available everywhere:• C# iOS, Android, & Windows with Xamarin• C# clients, written by C# developers (open source)• C# backend with ASP.NET
• Node.js for backend!• Continuous deployment / integration
Why Azure?
Shared C# codebase • 100% native API access • High performance
iOS C# UI
Windows C# UIAndroid C# UI
Shared C# Mobile
C# Server
Linux/MonoCoreCLRAzure
Shared C# Client/Server
Xamarin Apps + Backend Services
Azure Mobile Apps
WindowsAndroid
Chrome
iOS OSX
Kindle
Shared C# codebase • 100% native API access • High performance
iOS C# UI
Windows C# UIAndroid C# UI
Shared C# Mobile
C# Server
Linux/MonoCoreCLRAzure
Shared C# Client/Server
Mobile + Server
New template on Visual Studio for Mac
• Node.js• Easy authorization (CRUD based on REST
actions)• Online Editor! • Integrated on Client SDKs
Easy APIs
• Great for simple data storage• Visual Editor to create tables or create
tables based on the app’s model!!• CRUD• Support Authorization/Authentication• Trigger events on CRUD
(ex. Send a push when an item is added to a table)
Easy Tables
• Allow end-users to create and modify data even when there is no network access
• Sync works across multiple devices• SQLite Database• Client SDK available for Xamarin, alternatively use REST API• Backend written in Node.js
Offline Sync
• Rolling your own account infrastructure is difficult and time-consuming
• Secure your app with prebuilt authentication providers• Facebook• Twitter• Google• Microsoft• Azure AD• Anything OAuth 2
Authentication
• Easy-to-use, multiplatform scaled push infrastructure that allows you to send push notifications almost anywhere.
Push Notifications
• Sync files to Azure Storage, just like you did for structured data.
File Sync
Let’s add a backend
Connected Services on Visual Studio for Mac
Create app from Azure Portal!!!