Connected & Disconnected Mobile Apps James Montemagno Principal PM – Mobile Dev Tools, Microsoft @JamesMontemagno
Weekly development podcast mergeconflict.fm
Weekly development show xamarinshow.com
James Montemagno Principal Program Manager – Mobile Developer Tools, Microsoft [email protected] motzcod.es @JamesMontemagno
Great App Experiences
› Rich Media Experiences › Deep Integration into OS › Lightning Fast User Interface › Security and Identity › Data available when you need it opensignal.com/coverage-maps
James in the air 2016
Bad offline experiences Good offline experiences
Infrastructure designed for Scale Azure Application Platform Azure solutions PREDICTIVE MAINTENANCE E-COMMERCE WITH IOT
BUSINESS INTELLIGENCE MOBILE MICROSERVICE APPLICATIONS
SAP ON REMOTE MONITORING DATA WAREHOUSE AZURE WITH IOT DIGITAL MARKETING DISASTER RECOVERY BACKUP AND ARCHIVE DEVELOPMENT SHAREPOINT AND TEST ON AZURE
BIG DATA AND ANALYTICS
Azure Mobile Apps sync Offline
REST API Offline Sync Facebook OSX iOS Android Chrome Twitter SQL Windows Microsoft Tables Mongo Google Kindle O365 Azure ActiveAzure Directory In - App API Apps Backend code Backend
4. Send to device
1. Get PNS handle
2. Store PNS handle 5. Manage device handles 3b. Request notification Use device handles
3a. Request notification
Use logical users/tags Notification Hub
• Maps between tags and handles
Shopping Demo App
Azure Services: • Cognitive Services (Emotion API) • Storage • On/offline sync • Push notifications • Authentication
What’s Available: • Complete sample app with documentation • Individual “quick starts”
github.com/Microsoft/XamarinAzure_ShoppingDemoApp
“Build Better Apps Faster”
[email protected] Realm Mobile Database
• On-device cross-platform object database • Launched July 2014 • Developed in the open • 16K GitHub stars, 100k+ active developers Realm Database Features Inserting Entry Retrieving Entries Easy Encryption Realm Mobile Platform
Realtime data sync
Realm Object Server Realm Mobile DB Realm approach vs. status quo
Not just your native objects for data-sync. ORM and JSON take time, add complexity and add opportunities Realm Object Server SQL for errors.
Realm uses objects in your native programming language. Automatic Backend object Backend object background synchronization and REST call JSON conflict resolution. No ORM, no JSON. JSON Push Notification Native Realm Object SQLite/CoreData SQLite/CoreData
Native object Native object
Only Realm e.g. REST, Parse, etc. Hard features made easy
Event Real-time Offline First Processing 2-Way Data Experiences Sync
API Messaging + Mobilizatio Presence / n Chat
Pub/Sub & Realtime In-App & Push Collaborati Cross-App Notification on Search s
IoT Sensor Endpoint Sync Computing
Linux Distros!
Free self-guided courses Weekly development podcast Thank you. mergeconflict.fm Weekly development show xamarinshow.com
James Montemagno Principal Program Manager – Mobile Developer Tools, Microsoft
[email protected] motzcod.es @JamesMontemagno