SlideShare a Scribd company logo
1 of 9
Download to read offline
Building Sport with
Xamarin.Forms and Azure
Rob DeRosa
Director, Tech Sales
rob.derosa@microsoft.com
Sport is an app for iOS and Android that allows “athletes” to
join different leagues and challenge other members. The
winner of a challenge advances rank.
The back-end is written in C# using Azure App Services.
https://github.com/xamarin/sport
What is Sport?
Things I dig about Xamarin.Forms
• XAML, Bindings and XAMLC
• Inheritable Styles
• Mostly single-codebase for UITest code
• It’s Open-Source - unseal away!
Things I dig about Azure
• Offline Sync
• Remote Debugging
• Entity Framework / WebAPI
Things to be aware of with Xamarin.Forms
• XAML schema is not identical to Microsoft XAML schema (it’s close)
• No RelativeSource for bindings
• Cannot mix navigation stacks – let Forms own it
• Threshold of UI complexity where the difficulty of UI skyrockets
Things to be aware of with Xamarin.Forms
Things to be aware of with Azure
• Offline Sync does not support relational properties
• Relational property data is not sent back with DTO by default
– use ExpandHandlers
• Use SoftDelete if you want to update deleted records on the
client
Tips and Tricks for Xamarin.Forms
• Use static converters to reduce instances and lines of code
• Ensure a ViewModel-per-ContentPage pattern with generics
• Use a Busy class to denote progress
• New up ContentPage instances on a different thread to keep the UI
responsive.
Tips and Tricks for Azure
• config.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always
• Use Postman to inspect your REST/JSON payloads
• Use Charles/Fiddler to sniff our your traffic

More Related Content

What's hot

What's hot (11)

Xamarin.Forms
Xamarin.FormsXamarin.Forms
Xamarin.Forms
 
This is me
This is meThis is me
This is me
 
SharePoint Branding - Change Your Look
SharePoint Branding - Change Your LookSharePoint Branding - Change Your Look
SharePoint Branding - Change Your Look
 
Introduktion til SharePoint apps
Introduktion til SharePoint appsIntroduktion til SharePoint apps
Introduktion til SharePoint apps
 
Your First Xamarin.Forms App
Your First Xamarin.Forms AppYour First Xamarin.Forms App
Your First Xamarin.Forms App
 
Intro to Xamarin
Intro to XamarinIntro to Xamarin
Intro to Xamarin
 
Xamarin.Forms: a cross-platform mobile UI toolkit - ConFoo 2016
Xamarin.Forms:  a cross-platform mobile UI toolkit - ConFoo 2016Xamarin.Forms:  a cross-platform mobile UI toolkit - ConFoo 2016
Xamarin.Forms: a cross-platform mobile UI toolkit - ConFoo 2016
 
Dotnetconf - Introduction to Xamarin and Xamarin.Forms
Dotnetconf - Introduction to Xamarin and Xamarin.FormsDotnetconf - Introduction to Xamarin and Xamarin.Forms
Dotnetconf - Introduction to Xamarin and Xamarin.Forms
 
Xamarin Forms
Xamarin FormsXamarin Forms
Xamarin Forms
 
Enhance SharePoint with Responsive Web Design
Enhance SharePoint with Responsive Web DesignEnhance SharePoint with Responsive Web Design
Enhance SharePoint with Responsive Web Design
 
The Design Dilemma of Mobile and SharePoint
The Design Dilemma of Mobile and SharePointThe Design Dilemma of Mobile and SharePoint
The Design Dilemma of Mobile and SharePoint
 

Viewers also liked

Viewers also liked (6)

containers2016
containers2016containers2016
containers2016
 
ieee cloud 2015 keynote talk
ieee cloud 2015 keynote talkieee cloud 2015 keynote talk
ieee cloud 2015 keynote talk
 
Parallel asynchronous inference of word senses with Microsoft Azure
Parallel asynchronous inference of word senses with Microsoft AzureParallel asynchronous inference of word senses with Microsoft Azure
Parallel asynchronous inference of word senses with Microsoft Azure
 
Accelerating your Research with Microsoft Azure (June 2015)
Accelerating your Research with Microsoft Azure (June 2015)Accelerating your Research with Microsoft Azure (June 2015)
Accelerating your Research with Microsoft Azure (June 2015)
 
ieeecloud2016
ieeecloud2016ieeecloud2016
ieeecloud2016
 
A4 r overview deck_1.7
A4 r overview deck_1.7A4 r overview deck_1.7
A4 r overview deck_1.7
 

Similar to Rob DeRosa - Seattle .NET Mobile MeetUp

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
 
Mvvm crossevent basics
Mvvm crossevent basicsMvvm crossevent basics
Mvvm crossevent basics
Qframe
 

Similar to Rob DeRosa - Seattle .NET Mobile MeetUp (20)

Serverless Computing with Azure Functions and Xamarin
Serverless Computing with Azure Functions and XamarinServerless Computing with Azure Functions and Xamarin
Serverless Computing with Azure Functions and Xamarin
 
SharePoint Mobile App Development with Xmarin
SharePoint Mobile App Development with XmarinSharePoint Mobile App Development with Xmarin
SharePoint Mobile App Development with Xmarin
 
Hybrid Mobile Development
Hybrid Mobile DevelopmentHybrid Mobile Development
Hybrid Mobile Development
 
Building high performance
Building high performanceBuilding high performance
Building high performance
 
Introduction to Mobile Development with Xamarin -DotNet Westide
Introduction to Mobile Development with Xamarin -DotNet WestideIntroduction to Mobile Development with Xamarin -DotNet Westide
Introduction to Mobile Development with Xamarin -DotNet Westide
 
Cross platform mobile development with xamarin and office 365
Cross platform mobile development with xamarin and office 365Cross platform mobile development with xamarin and office 365
Cross platform mobile development with xamarin and office 365
 
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...
 
20140207 xamarin-red fabriq-microsoft-techdays-nativemobileappdevelopmentwith...
20140207 xamarin-red fabriq-microsoft-techdays-nativemobileappdevelopmentwith...20140207 xamarin-red fabriq-microsoft-techdays-nativemobileappdevelopmentwith...
20140207 xamarin-red fabriq-microsoft-techdays-nativemobileappdevelopmentwith...
 
C# everywhere - Building Cross-Platform Apps with Xamarin and MvvmCross
C# everywhere - Building Cross-Platform Apps with Xamarin and MvvmCrossC# everywhere - Building Cross-Platform Apps with Xamarin and MvvmCross
C# everywhere - Building Cross-Platform Apps with Xamarin and MvvmCross
 
Deep Dive in Xamarin.Forms
Deep Dive in Xamarin.FormsDeep Dive in Xamarin.Forms
Deep Dive in Xamarin.Forms
 
C# everywhere - Building Cross-Platform Apps with Xamarin and MvvmCross
C# everywhere - Building Cross-Platform Apps with Xamarin and MvvmCrossC# everywhere - Building Cross-Platform Apps with Xamarin and MvvmCross
C# everywhere - Building Cross-Platform Apps with Xamarin and MvvmCross
 
Optimizing and Extending Xamarin.Forms iOS, Android, and UWP Apps
Optimizing and Extending Xamarin.Forms iOS, Android, and UWP AppsOptimizing and Extending Xamarin.Forms iOS, Android, and UWP Apps
Optimizing and Extending Xamarin.Forms iOS, Android, and UWP Apps
 
Mvvm crossevent basics
Mvvm crossevent basicsMvvm crossevent basics
Mvvm crossevent basics
 
Lost Pet Mobile Using Xamarin
Lost Pet Mobile Using XamarinLost Pet Mobile Using Xamarin
Lost Pet Mobile Using Xamarin
 
ArchitectNow - Real World Xamarin Overview
ArchitectNow - Real World Xamarin OverviewArchitectNow - Real World Xamarin Overview
ArchitectNow - Real World Xamarin Overview
 
Spsct15 power shell_csom - amit vasu
Spsct15 power shell_csom - amit vasuSpsct15 power shell_csom - amit vasu
Spsct15 power shell_csom - amit vasu
 
2019 .NET Mobile Development Hot Topics
2019 .NET Mobile Development Hot Topics2019 .NET Mobile Development Hot Topics
2019 .NET Mobile Development Hot Topics
 
Sdfc forbidden and advanced techniques
Sdfc forbidden and advanced techniquesSdfc forbidden and advanced techniques
Sdfc forbidden and advanced techniques
 
The SharePoint & jQuery Guide - Updated 1/14/14
The SharePoint & jQuery Guide - Updated 1/14/14The SharePoint & jQuery Guide - Updated 1/14/14
The SharePoint & jQuery Guide - Updated 1/14/14
 
Xamarin Traditional Approach & Xamarin.Forms
Xamarin Traditional Approach & Xamarin.FormsXamarin Traditional Approach & Xamarin.Forms
Xamarin Traditional Approach & Xamarin.Forms
 

Recently uploaded

Recently uploaded (20)

[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse
[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse
[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse
 
Abortion Clinic Pretoria ](+27832195400*)[ Abortion Clinic Near Me ● Abortion...
Abortion Clinic Pretoria ](+27832195400*)[ Abortion Clinic Near Me ● Abortion...Abortion Clinic Pretoria ](+27832195400*)[ Abortion Clinic Near Me ● Abortion...
Abortion Clinic Pretoria ](+27832195400*)[ Abortion Clinic Near Me ● Abortion...
 
^Clinic ^%[+27788225528*Abortion Pills For Sale In witbank
^Clinic ^%[+27788225528*Abortion Pills For Sale In witbank^Clinic ^%[+27788225528*Abortion Pills For Sale In witbank
^Clinic ^%[+27788225528*Abortion Pills For Sale In witbank
 
Food Delivery Business App Development Guide 2024
Food Delivery Business App Development Guide 2024Food Delivery Business App Development Guide 2024
Food Delivery Business App Development Guide 2024
 
BusinessGPT - Security and Governance for Generative AI
BusinessGPT  - Security and Governance for Generative AIBusinessGPT  - Security and Governance for Generative AI
BusinessGPT - Security and Governance for Generative AI
 
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-CloudAlluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
 
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
 
StrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi.pdf
StrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi.pdfStrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi.pdf
StrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi.pdf
 
how-to-download-files-safely-from-the-internet.pdf
how-to-download-files-safely-from-the-internet.pdfhow-to-download-files-safely-from-the-internet.pdf
how-to-download-files-safely-from-the-internet.pdf
 
Transformer Neural Network Use Cases with Links
Transformer Neural Network Use Cases with LinksTransformer Neural Network Use Cases with Links
Transformer Neural Network Use Cases with Links
 
Prompt Engineering - an Art, a Science, or your next Job Title?
Prompt Engineering - an Art, a Science, or your next Job Title?Prompt Engineering - an Art, a Science, or your next Job Title?
Prompt Engineering - an Art, a Science, or your next Job Title?
 
Salesforce Introduced Zero Copy Partner Network to Simplify the Process of In...
Salesforce Introduced Zero Copy Partner Network to Simplify the Process of In...Salesforce Introduced Zero Copy Partner Network to Simplify the Process of In...
Salesforce Introduced Zero Copy Partner Network to Simplify the Process of In...
 
Abortion Clinic In Springs ](+27832195400*)[ 🏥 Safe Abortion Pills in Springs...
Abortion Clinic In Springs ](+27832195400*)[ 🏥 Safe Abortion Pills in Springs...Abortion Clinic In Springs ](+27832195400*)[ 🏥 Safe Abortion Pills in Springs...
Abortion Clinic In Springs ](+27832195400*)[ 🏥 Safe Abortion Pills in Springs...
 
Microsoft365_Dev_Security_2024_05_16.pdf
Microsoft365_Dev_Security_2024_05_16.pdfMicrosoft365_Dev_Security_2024_05_16.pdf
Microsoft365_Dev_Security_2024_05_16.pdf
 
Auto Affiliate AI Earns First Commission in 3 Hours..pdf
Auto Affiliate  AI Earns First Commission in 3 Hours..pdfAuto Affiliate  AI Earns First Commission in 3 Hours..pdf
Auto Affiliate AI Earns First Commission in 3 Hours..pdf
 
How to install and activate eGrabber JobGrabber
How to install and activate eGrabber JobGrabberHow to install and activate eGrabber JobGrabber
How to install and activate eGrabber JobGrabber
 
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
 
Abortion Clinic In Polokwane ](+27832195400*)[ 🏥 Safe Abortion Pills in Polok...
Abortion Clinic In Polokwane ](+27832195400*)[ 🏥 Safe Abortion Pills in Polok...Abortion Clinic In Polokwane ](+27832195400*)[ 🏥 Safe Abortion Pills in Polok...
Abortion Clinic In Polokwane ](+27832195400*)[ 🏥 Safe Abortion Pills in Polok...
 
The Strategic Impact of Buying vs Building in Test Automation
The Strategic Impact of Buying vs Building in Test AutomationThe Strategic Impact of Buying vs Building in Test Automation
The Strategic Impact of Buying vs Building in Test Automation
 
Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...
Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...
Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...
 

Rob DeRosa - Seattle .NET Mobile MeetUp

  • 1. Building Sport with Xamarin.Forms and Azure Rob DeRosa Director, Tech Sales rob.derosa@microsoft.com
  • 2. Sport is an app for iOS and Android that allows “athletes” to join different leagues and challenge other members. The winner of a challenge advances rank. The back-end is written in C# using Azure App Services. https://github.com/xamarin/sport What is Sport?
  • 3. Things I dig about Xamarin.Forms • XAML, Bindings and XAMLC • Inheritable Styles • Mostly single-codebase for UITest code • It’s Open-Source - unseal away!
  • 4. Things I dig about Azure • Offline Sync • Remote Debugging • Entity Framework / WebAPI
  • 5. Things to be aware of with Xamarin.Forms • XAML schema is not identical to Microsoft XAML schema (it’s close) • No RelativeSource for bindings • Cannot mix navigation stacks – let Forms own it • Threshold of UI complexity where the difficulty of UI skyrockets
  • 6. Things to be aware of with Xamarin.Forms
  • 7. Things to be aware of with Azure • Offline Sync does not support relational properties • Relational property data is not sent back with DTO by default – use ExpandHandlers • Use SoftDelete if you want to update deleted records on the client
  • 8. Tips and Tricks for Xamarin.Forms • Use static converters to reduce instances and lines of code • Ensure a ViewModel-per-ContentPage pattern with generics • Use a Busy class to denote progress • New up ContentPage instances on a different thread to keep the UI responsive.
  • 9. Tips and Tricks for Azure • config.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always • Use Postman to inspect your REST/JSON payloads • Use Charles/Fiddler to sniff our your traffic