SlideShare a Scribd company logo
1 of 16
Download to read offline
Xamarin	&	Azure
BFF,	Really?
Benjamin	Tam
Twitter:	@benjamintam
Page
Why?
› My	apps… apart	from	actual	phone	functions
› Productivity
› Google	Maps
› Games
› Social	Media
› Calculator!
/	Copyright	©2015	by	Readify	Limited2
Page
Azure	App	Services
› Mobile	Services	vs	Mobile	App
› Mobile	App	vs	API	App
› Client	SDK
› Storage	(including	Offline	Data	Sync)
› Authentication
› Push	Notifications
› .NET	or	Node.js back-end
/	Copyright	©2015	by	Readify	Limited3
Page
Demo:	Xamarin.Forms Solution
/	Copyright	©2015	by	Readify	Limited4
Page
Demo:	Running	App
/	Copyright	©2015	by	Readify	Limited5
Page
Demo:	App	Service
/	Copyright	©2015	by	Readify	Limited6
Page
Demo:	Mobile	App
/	Copyright	©2015	by	Readify	Limited7
Page
Getting	Started
› Quickstart - Easy	Tables
› Node.js backend	only
› “No	code”	CRUD	API
› Code	is	actually	in	corresponding	.js &	.json files
› Uses	OData	&	SQL	Azure
› Debugging
› Log	Stream
/	Copyright	©2015	by	Readify	Limited8
Page
Offline	Data	Sync
/	Copyright	©2015	by	Readify	Limited9
Page
Network	Connectivity
› Is	there	a	network	connection?
› Wifi
› Cellular
› 2G,	3G,	4G
› Roaming
› What	if	the	network	status	changes	mid-operation?
› Xam.Plugin.Connectivity
/	Copyright	©2015	by	Readify	Limited10
Page
Device	Storage
› Properties	dictionary
› Local	file	storage
› SQLite.Net (*PCL)
/	Copyright	©2015	by	Readify	Limited11
Page
How	Does	Offline	Data	Sync	Work?
› Cache	server	data	locally
› Create/modify	data	locally
› Developer	decides	when to	sync	with	Azure
› Push
› Pull
› Purge
› Implicit	push
/	Copyright	©2015	by	Readify	Limited12
Page
Enabling	Offline	Data	Sync
› Microsoft.Azure.Mobile.Client.SQLiteStore NuGet
› Configuration
› IMobileServiceTable vs	IMobileServiceSyncTable
› Define	the	local	store	and	table(s)
› Operations
› IMobileServiceSyncContext
› IMobileServiceSyncHandler
/	Copyright	©2015	by	Readify	Limited13
Page
Other	Considerations
› Soft	deletions
› Conflict	resolution
› What	to	keep?
› MobileServicePushFailedException
› Performance
› Full	vs	Incremental	Sync
› Collapse	Logic
/	Copyright	©2015	by	Readify	Limited14
Page
Demo:	Offline	Data	Sync
/	Copyright	©2015	by	Readify	Limited15
Page
Thank	You!
Twitter:	@benjamintam
/	Copyright	©2015	by	Readify	Limited16

More Related Content

What's hot

Building Mobile Cross-Platform Apps for iOS, Android & Windows in C# with Xam...
Building Mobile Cross-Platform Apps foriOS, Android & Windows in C# with Xam...Building Mobile Cross-Platform Apps foriOS, Android & Windows in C# with Xam...
Building Mobile Cross-Platform Apps for iOS, Android & Windows in C# with Xam...
Nick Landry
 
Xamarin and SAP Mobile Platform for Mobile Enterprise Success
Xamarin and SAP Mobile Platform for Mobile Enterprise SuccessXamarin and SAP Mobile Platform for Mobile Enterprise Success
Xamarin and SAP Mobile Platform for Mobile Enterprise Success
Xamarin
 
Developing with Google Glass and Xamarin
Developing with Google Glass and XamarinDeveloping with Google Glass and Xamarin
Developing with Google Glass and Xamarin
Xamarin
 

What's hot (20)

Centric - PWA WebCast
Centric - PWA WebCastCentric - PWA WebCast
Centric - PWA WebCast
 
Building Cloud-Enabled Cross-Platform Mobile Apps in C# with Azure App Services
Building Cloud-Enabled Cross-PlatformMobile Apps in C# with Azure App ServicesBuilding Cloud-Enabled Cross-PlatformMobile Apps in C# with Azure App Services
Building Cloud-Enabled Cross-Platform Mobile Apps in C# with Azure App Services
 
Mobile Web App & Google Apps Script
Mobile Web App & Google Apps ScriptMobile Web App & Google Apps Script
Mobile Web App & Google Apps Script
 
Building Mobile Cross-Platform Apps for iOS, Android & Windows in C# with Xam...
Building Mobile Cross-Platform Apps foriOS, Android & Windows in C# with Xam...Building Mobile Cross-Platform Apps foriOS, Android & Windows in C# with Xam...
Building Mobile Cross-Platform Apps for iOS, Android & Windows in C# with Xam...
 
EastBay.net Building Mobile Apps with Xamarin and Visual Studio
EastBay.net Building Mobile Apps with Xamarin and Visual StudioEastBay.net Building Mobile Apps with Xamarin and Visual Studio
EastBay.net Building Mobile Apps with Xamarin and Visual Studio
 
Building Hybrid Apps with Ember
Building Hybrid Apps with EmberBuilding Hybrid Apps with Ember
Building Hybrid Apps with Ember
 
Wearables with C# and Xamarin
Wearables with C# and XamarinWearables with C# and Xamarin
Wearables with C# and Xamarin
 
Evolving Mobile Architectures @ Mi9
Evolving Mobile Architectures @ Mi9Evolving Mobile Architectures @ Mi9
Evolving Mobile Architectures @ Mi9
 
PPT from Webinar Create Hybrid Mobile Application in 1 hour
PPT from Webinar Create Hybrid Mobile Application in 1 hourPPT from Webinar Create Hybrid Mobile Application in 1 hour
PPT from Webinar Create Hybrid Mobile Application in 1 hour
 
Making Apps More Human - Intro to Microsoft Cognitive Services
Making Apps More Human - Intro to Microsoft Cognitive ServicesMaking Apps More Human - Intro to Microsoft Cognitive Services
Making Apps More Human - Intro to Microsoft Cognitive Services
 
10 things to make you a Great Mobile Web Developer
10 things to make you a Great Mobile Web Developer10 things to make you a Great Mobile Web Developer
10 things to make you a Great Mobile Web Developer
 
Evolving Mobile Architectures
Evolving Mobile ArchitecturesEvolving Mobile Architectures
Evolving Mobile Architectures
 
Progressive Web Apps / GDG DevFest - Season 2016
Progressive Web Apps / GDG DevFest - Season 2016Progressive Web Apps / GDG DevFest - Season 2016
Progressive Web Apps / GDG DevFest - Season 2016
 
Building a Startup for the Mobile-first, Cloud-first World
Building a Startup for the Mobile-first, Cloud-first WorldBuilding a Startup for the Mobile-first, Cloud-first World
Building a Startup for the Mobile-first, Cloud-first World
 
Microsoft Tools for Android Developers
Microsoft Tools for Android DevelopersMicrosoft Tools for Android Developers
Microsoft Tools for Android Developers
 
Phonegap vs Sencha Touch vs Titanium
Phonegap vs Sencha Touch vs TitaniumPhonegap vs Sencha Touch vs Titanium
Phonegap vs Sencha Touch vs Titanium
 
Xamarin and SAP Mobile Platform for Mobile Enterprise Success
Xamarin and SAP Mobile Platform for Mobile Enterprise SuccessXamarin and SAP Mobile Platform for Mobile Enterprise Success
Xamarin and SAP Mobile Platform for Mobile Enterprise Success
 
I Like iPhone & Android But I am .NET Developer
I Like iPhone & Android But I am .NET DeveloperI Like iPhone & Android But I am .NET Developer
I Like iPhone & Android But I am .NET Developer
 
Developing with Google Glass and Xamarin
Developing with Google Glass and XamarinDeveloping with Google Glass and Xamarin
Developing with Google Glass and Xamarin
 
Developing and Designing Native Mobile Apps in Xamarin Studio
Developing and Designing Native Mobile Apps in Xamarin StudioDeveloping and Designing Native Mobile Apps in Xamarin Studio
Developing and Designing Native Mobile Apps in Xamarin Studio
 

Viewers also liked

Introduction to Back End Automation Testing - Nguyen Vu Hoang, Hoang Phi
Introduction to Back End Automation Testing - Nguyen Vu Hoang, Hoang PhiIntroduction to Back End Automation Testing - Nguyen Vu Hoang, Hoang Phi
Introduction to Back End Automation Testing - Nguyen Vu Hoang, Hoang Phi
Ho Chi Minh City Software Testing Club
 

Viewers also liked (17)

Intro to Azure Mobile Services & Xamarin
Intro to Azure Mobile Services & XamarinIntro to Azure Mobile Services & Xamarin
Intro to Azure Mobile Services & Xamarin
 
Cloudy with a Chance of Cross Platform (for Bay.NET)
Cloudy with a Chance of Cross Platform (for Bay.NET)Cloudy with a Chance of Cross Platform (for Bay.NET)
Cloudy with a Chance of Cross Platform (for Bay.NET)
 
Xamarin, azure Push & cortana
Xamarin, azure Push & cortanaXamarin, azure Push & cortana
Xamarin, azure Push & cortana
 
Xamarin + azure Mobile Apps
Xamarin + azure Mobile AppsXamarin + azure Mobile Apps
Xamarin + azure Mobile Apps
 
Azure MobileApp & Xamarin.Forms
Azure MobileApp & Xamarin.FormsAzure MobileApp & Xamarin.Forms
Azure MobileApp & Xamarin.Forms
 
Xamarin Dev Days - Connected & Disconnected Apps with Azure Mobile Apps
Xamarin Dev Days - Connected & Disconnected Apps with Azure Mobile AppsXamarin Dev Days - Connected & Disconnected Apps with Azure Mobile Apps
Xamarin Dev Days - Connected & Disconnected Apps with Azure Mobile Apps
 
What's new in Xamarin.Forms?
What's new in Xamarin.Forms?What's new in Xamarin.Forms?
What's new in Xamarin.Forms?
 
Cross Platform Mobile Development with Xamarin
Cross Platform Mobile Development with XamarinCross Platform Mobile Development with Xamarin
Cross Platform Mobile Development with Xamarin
 
Introdução ao Azure Mobile Apps
Introdução ao Azure Mobile AppsIntrodução ao Azure Mobile Apps
Introdução ao Azure Mobile Apps
 
Xamarin y MS Azure | Cognitive Services
Xamarin y MS Azure | Cognitive ServicesXamarin y MS Azure | Cognitive Services
Xamarin y MS Azure | Cognitive Services
 
Azure Mobile Apps with Xamarin
Azure Mobile Apps with XamarinAzure Mobile Apps with Xamarin
Azure Mobile Apps with Xamarin
 
Forms + azure
Forms + azureForms + azure
Forms + azure
 
ABI Funding & Capital Markets Forum 2017 - Schema delle sessioni
ABI Funding & Capital Markets Forum 2017 - Schema delle sessioniABI Funding & Capital Markets Forum 2017 - Schema delle sessioni
ABI Funding & Capital Markets Forum 2017 - Schema delle sessioni
 
Cloud Powered Mobile Apps with Azure
Cloud Powered Mobile Apps  with AzureCloud Powered Mobile Apps  with Azure
Cloud Powered Mobile Apps with Azure
 
BFF Pattern in Action: SoundCloud’s Microservices
BFF Pattern in Action: SoundCloud’s MicroservicesBFF Pattern in Action: SoundCloud’s Microservices
BFF Pattern in Action: SoundCloud’s Microservices
 
Playgrounds: Mobile + Swift = BFF
Playgrounds: Mobile + Swift = BFFPlaygrounds: Mobile + Swift = BFF
Playgrounds: Mobile + Swift = BFF
 
Introduction to Back End Automation Testing - Nguyen Vu Hoang, Hoang Phi
Introduction to Back End Automation Testing - Nguyen Vu Hoang, Hoang PhiIntroduction to Back End Automation Testing - Nguyen Vu Hoang, Hoang Phi
Introduction to Back End Automation Testing - Nguyen Vu Hoang, Hoang Phi
 

Similar to Xamarin & Azure - BFF, Really?

Employee Facing Cross Platform Mobile Apps
Employee Facing Cross Platform Mobile AppsEmployee Facing Cross Platform Mobile Apps
Employee Facing Cross Platform Mobile Apps
Graeme Foster
 
Droid con berlin_the_bb10_android_runtime
Droid con berlin_the_bb10_android_runtimeDroid con berlin_the_bb10_android_runtime
Droid con berlin_the_bb10_android_runtime
Droidcon Berlin
 
Challenges in enterprise mobility development 2
Challenges in enterprise mobility development 2Challenges in enterprise mobility development 2
Challenges in enterprise mobility development 2
kidozen
 

Similar to Xamarin & Azure - BFF, Really? (20)

Azure Mobile Services .NET Backend
Azure Mobile Services .NET BackendAzure Mobile Services .NET Backend
Azure Mobile Services .NET Backend
 
Employee Facing Cross Platform Mobile Apps
Employee Facing Cross Platform Mobile AppsEmployee Facing Cross Platform Mobile Apps
Employee Facing Cross Platform Mobile Apps
 
THE INTERNET OF THINGS IS GETTING REAL
THE INTERNET OF THINGS IS GETTING REALTHE INTERNET OF THINGS IS GETTING REAL
THE INTERNET OF THINGS IS GETTING REAL
 
Apps Nativas para iOS e Android com C#
Apps Nativas para  iOS e Android com C#Apps Nativas para  iOS e Android com C#
Apps Nativas para iOS e Android com C#
 
IBM Bluemix saves the game
IBM Bluemix saves the gameIBM Bluemix saves the game
IBM Bluemix saves the game
 
Build2020: Xamarin.Forms Experts Q&A
Build2020: Xamarin.Forms Experts Q&ABuild2020: Xamarin.Forms Experts Q&A
Build2020: Xamarin.Forms Experts Q&A
 
Android and Azure @droidconit 2015
Android and Azure @droidconit 2015Android and Azure @droidconit 2015
Android and Azure @droidconit 2015
 
Binary Studio Academy 2016. Cross-Platform Mobile Development
Binary Studio Academy 2016. Cross-Platform Mobile DevelopmentBinary Studio Academy 2016. Cross-Platform Mobile Development
Binary Studio Academy 2016. Cross-Platform Mobile Development
 
Droid con berlin_the_bb10_android_runtime
Droid con berlin_the_bb10_android_runtimeDroid con berlin_the_bb10_android_runtime
Droid con berlin_the_bb10_android_runtime
 
Chat Done Right
Chat Done Right Chat Done Right
Chat Done Right
 
Challenges in enterprise mobility development 2
Challenges in enterprise mobility development 2Challenges in enterprise mobility development 2
Challenges in enterprise mobility development 2
 
Develop Hybrid Mobile Application with Azure Mobile Services and Telerik Plat...
Develop Hybrid Mobile Application with Azure Mobile Services and Telerik Plat...Develop Hybrid Mobile Application with Azure Mobile Services and Telerik Plat...
Develop Hybrid Mobile Application with Azure Mobile Services and Telerik Plat...
 
Bring Your Android Apps to BlackBerry 10 in minutes
Bring Your Android Apps to BlackBerry 10 in minutesBring Your Android Apps to BlackBerry 10 in minutes
Bring Your Android Apps to BlackBerry 10 in minutes
 
Cross platform mobile development (speaker Vitaly Ilchenko, Binary Studio)
Cross platform mobile development (speaker Vitaly Ilchenko, Binary Studio)Cross platform mobile development (speaker Vitaly Ilchenko, Binary Studio)
Cross platform mobile development (speaker Vitaly Ilchenko, Binary Studio)
 
Cloud Backend for Mobile Apps
Cloud Backend for Mobile AppsCloud Backend for Mobile Apps
Cloud Backend for Mobile Apps
 
Azure App Service Architecture. Web Apps.
Azure App Service Architecture. Web Apps.Azure App Service Architecture. Web Apps.
Azure App Service Architecture. Web Apps.
 
EMFcamp2022 - What if apps logged into you, instead of you logging into apps?
EMFcamp2022 - What if apps logged into you, instead of you logging into apps?EMFcamp2022 - What if apps logged into you, instead of you logging into apps?
EMFcamp2022 - What if apps logged into you, instead of you logging into apps?
 
Design - Start Your API Journey Today
Design - Start Your API Journey TodayDesign - Start Your API Journey Today
Design - Start Your API Journey Today
 
Design - Start Your API Journey Today
Design - Start Your API Journey TodayDesign - Start Your API Journey Today
Design - Start Your API Journey Today
 
بالعربي التطور في البرمجة باستخدام ال .Net
بالعربي التطور في البرمجة باستخدام ال .Netبالعربي التطور في البرمجة باستخدام ال .Net
بالعربي التطور في البرمجة باستخدام ال .Net
 

Xamarin & Azure - BFF, Really?