SlideShare a Scribd company logo
1 of 22
 https://github.com/cheahengsoon/FirstXamarinFormsApp
 https://www.gitbook.com/@cheahengsoon
 My Email : cheahengsoon@live.com.my
 Learning
 https://www.youtube.com/channel/UCykEmj8H8O0aE6QB1
965XCg
 Android Emulator
 https://www.visualstudio.com/vs/msft-android-emulator/
https://www.youtube.com/channel/UCykEmj8H8O0aE6QB1
965XCg
https://mva.microsoft.com/search/SearchResults.aspx#!q=X
amarin&lang=1033
Native User Interfaces Native API Access Native Performance
iOS C# UI Windows C# UIAndroid C# UI
Shared C# logic
Xamarin’s unique approach
Shared C# codebase • 100% native API access • High performance
Native UI Approach
 3 Native User Interfaces
 Shared App Logic
iOS C# Windows C#Android C#
Shared C# Logic
Xamarin.Forms Approach
 Shared User Interface
 Shared App Logic
Shared C# Logic
Shared UI Code
Windows APIs
Microsoft.Phone Microsoft.Networking Windows.Storage Windows.Foundation Microsoft.Devices
System.Data System.Windows System.Numerics System.Core System.ServiceModel
System.Net System System.IO System.Linq System.Xml
C#
iOS – 100% API coverage
MapKit UIKit iBeacon CoreGraphics CoreMotion
System.Data System.Windows System.Numerics System.Core System.ServiceModel
System.Net System System.IO System.Linq System.Xml
C#
Android – 100% API coverage
Text-to-speech ActionBar Printing Framework Renderscript NFC
System.Data System.Windows System.Numerics System.Core System.ServiceModel
System.Net System System.IO System.Linq System.Xml
C#
Native performance
Xamarin.iOS Xamarin.Android
ARM
BINARY
Runs
natively
.APPAOT
.NET
C#
Bindings
.APKCompile
and Link
.NET
C#
Bindings
IL
+
JIT
Runs
natively
Xamarin for Visual Studio
Infrastructure
designed for Scale
RESTAPI
Offline
sync
Facebook Twitter Microsoft Google Azure Active
Directory
Azure Mobile Apps
WindowsAndroid
Chrome
iOS
OSX
In-AppKindle
Backend code
SQL MongoTables O365 API Apps
Offline Sync
Contoso Moments
Azure Services:
• Storage
• On/offline sync
• Push notifications
• Authentication
What’s Available:
• Complete sample app with documentation
• Individual “quick starts”
github.com/azure-appservice-samples/ContosoMoments
Channel 9
Microsoft Virtual Academy
https://github.com/cheahengsoon/ContosoMoments
https://github.com/cheahengsoon/Xamarin-Azure-
Community-HOL

More Related Content

What's hot

What's hot (20)

Extending, optimizing, and accelerating Xamarin and Xamarin.Forms app develop...
Extending, optimizing, and accelerating Xamarin and Xamarin.Forms app develop...Extending, optimizing, and accelerating Xamarin and Xamarin.Forms app develop...
Extending, optimizing, and accelerating Xamarin and Xamarin.Forms app develop...
 
Tech saloniki - Cross platform mobile development using xamarin
Tech saloniki  - Cross platform mobile development using xamarinTech saloniki  - Cross platform mobile development using xamarin
Tech saloniki - Cross platform mobile development using xamarin
 
The Future of Xamarin
The Future of XamarinThe Future of Xamarin
The Future of Xamarin
 
C# Powered Robots, C# Powered Mobile Apps
C# Powered Robots, C# Powered Mobile AppsC# Powered Robots, C# Powered Mobile Apps
C# Powered Robots, C# Powered Mobile Apps
 
Intro to Puppeteer
Intro to PuppeteerIntro to Puppeteer
Intro to Puppeteer
 
Build2020: Xamarin.Forms Experts Q&A
Build2020: Xamarin.Forms Experts Q&ABuild2020: Xamarin.Forms Experts Q&A
Build2020: Xamarin.Forms Experts Q&A
 
Azure App Service Helpers
Azure App Service HelpersAzure App Service Helpers
Azure App Service Helpers
 
Choosing The Best Mobile App Framework
Choosing The Best Mobile App FrameworkChoosing The Best Mobile App Framework
Choosing The Best Mobile App Framework
 
Native iOS and Android Development with Xamarin
Native iOS and Android Development with XamarinNative iOS and Android Development with Xamarin
Native iOS and Android Development with Xamarin
 
Xamarin for iOS developers
Xamarin for iOS developersXamarin for iOS developers
Xamarin for iOS developers
 
End to-end native iOS, Android and Windows apps wtih Xamarin
End to-end native iOS, Android and Windows apps wtih XamarinEnd to-end native iOS, Android and Windows apps wtih Xamarin
End to-end native iOS, Android and Windows apps wtih Xamarin
 
Building data driven mobile apps with phone gap and webapi
Building data driven mobile apps with phone gap and webapiBuilding data driven mobile apps with phone gap and webapi
Building data driven mobile apps with phone gap and webapi
 
Intro to Xamarin for Visual Studio: Native iOS, Android, and Windows Apps in C#
Intro to Xamarin for Visual Studio: Native iOS, Android, and Windows Apps in C#Intro to Xamarin for Visual Studio: Native iOS, Android, and Windows Apps in C#
Intro to Xamarin for Visual Studio: Native iOS, Android, and Windows Apps in C#
 
Visual Studio 2017 Launch Event
Visual Studio 2017 Launch EventVisual Studio 2017 Launch Event
Visual Studio 2017 Launch Event
 
Wearables with C# and Xamarin
Wearables with C# and XamarinWearables with C# and Xamarin
Wearables with C# and Xamarin
 
An introduction to Xamarin
An introduction to XamarinAn introduction to Xamarin
An introduction to Xamarin
 
Akshita
AkshitaAkshita
Akshita
 
Introduction to Xamarin 2.0
Introduction to Xamarin 2.0Introduction to Xamarin 2.0
Introduction to Xamarin 2.0
 
Xcoders - iOS & Android Development in C# with Xamarin
Xcoders - iOS & Android Development in C# with XamarinXcoders - iOS & Android Development in C# with Xamarin
Xcoders - iOS & Android Development in C# with Xamarin
 
Cross Platform Mobile Development with Xamarin
Cross Platform Mobile Development with XamarinCross Platform Mobile Development with Xamarin
Cross Platform Mobile Development with Xamarin
 

Similar to Advanced Cross-Platform Mobile Apps with Azure Mobile Apps and Xamarin

Mobile Cross-Platform App Development in C# with Xamarin
Mobile Cross-Platform App Development in C# with XamarinMobile Cross-Platform App Development in C# with Xamarin
Mobile Cross-Platform App Development in C# with Xamarin
Nick Landry
 
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
 
Mobile Dev For Web Devs
Mobile Dev For Web DevsMobile Dev For Web Devs
Mobile Dev For Web Devs
Justin James
 

Similar to Advanced Cross-Platform Mobile Apps with Azure Mobile Apps and Xamarin (20)

Deep Dive in Xamarin.Forms
Deep Dive in Xamarin.FormsDeep Dive in Xamarin.Forms
Deep Dive in Xamarin.Forms
 
Xamarin COE by Mukteswar Patnaik
Xamarin COE by Mukteswar PatnaikXamarin COE by Mukteswar Patnaik
Xamarin COE by Mukteswar Patnaik
 
Mobile Cross-Platform App Development in C# with Xamarin
Mobile Cross-Platform App Development in C# with XamarinMobile Cross-Platform App Development in C# with Xamarin
Mobile Cross-Platform App Development in C# with Xamarin
 
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...
 
AnDevCon - Android and iOS Apps in C# with Xamarin
AnDevCon - Android and iOS Apps in C# with XamarinAnDevCon - Android and iOS Apps in C# with Xamarin
AnDevCon - Android and iOS Apps in C# with Xamarin
 
Mobile Dev For Web Devs
Mobile Dev For Web DevsMobile Dev For Web Devs
Mobile Dev For Web Devs
 
Xamarin Platform
Xamarin PlatformXamarin Platform
Xamarin Platform
 
Cross platform mobile approaches
Cross platform mobile approachesCross platform mobile approaches
Cross platform mobile approaches
 
"Intro to-xamarin.forms", Кирилл Стативкин, Microsoft Student Partner
"Intro to-xamarin.forms", Кирилл Стативкин, Microsoft Student Partner"Intro to-xamarin.forms", Кирилл Стативкин, Microsoft Student Partner
"Intro to-xamarin.forms", Кирилл Стативкин, Microsoft Student Partner
 
TDC2016SP - Cross-Platform Development with C#
TDC2016SP - Cross-Platform Development with C#TDC2016SP - Cross-Platform Development with C#
TDC2016SP - Cross-Platform Development with C#
 
Powerful Backends with Microsoft Azure
Powerful Backends with Microsoft AzurePowerful Backends with Microsoft Azure
Powerful Backends with Microsoft Azure
 
State of Union: Xamarin & Cross-Platform .NET in 2016 and Beyond
State of Union: Xamarin & Cross-Platform .NET in 2016 and BeyondState of Union: Xamarin & Cross-Platform .NET in 2016 and Beyond
State of Union: Xamarin & Cross-Platform .NET in 2016 and Beyond
 
iOS Native Development with Xamarin
iOS Native Development with XamariniOS Native Development with Xamarin
iOS Native Development with Xamarin
 
Building Connected and Disconnected Mobile Applications
Building Connected and Disconnected Mobile ApplicationsBuilding Connected and Disconnected Mobile Applications
Building Connected and Disconnected Mobile Applications
 
C# no bolso - desenvolvendo apps multiplataforma
C# no bolso - desenvolvendo apps multiplataformaC# no bolso - desenvolvendo apps multiplataforma
C# no bolso - desenvolvendo apps multiplataforma
 
Going Mobile with C#, Visual Studio, and Xamarin
Going Mobile with C#, Visual Studio, and XamarinGoing Mobile with C#, Visual Studio, and Xamarin
Going Mobile with C#, Visual Studio, and Xamarin
 
Creating Native iOS & Android Apps in C#
Creating Native iOS & Android Apps in C#Creating Native iOS & Android Apps in C#
Creating Native iOS & Android Apps in C#
 
DEVIntersection 2014 iOS and Android Development for C# Developers
DEVIntersection 2014 iOS and Android Development for C# DevelopersDEVIntersection 2014 iOS and Android Development for C# Developers
DEVIntersection 2014 iOS and Android Development for C# Developers
 
DevOps on Microsoft Platform
DevOps on Microsoft PlatformDevOps on Microsoft Platform
DevOps on Microsoft Platform
 
Say hello to Xamarin 3
Say hello to Xamarin 3Say hello to Xamarin 3
Say hello to Xamarin 3
 

More from Cheah Eng Soon

More from Cheah Eng Soon (20)

Microsoft Defender for Endpoint
Microsoft Defender for EndpointMicrosoft Defender for Endpoint
Microsoft Defender for Endpoint
 
Azure Active Directory - Secure and Govern
Azure Active Directory - Secure and GovernAzure Active Directory - Secure and Govern
Azure Active Directory - Secure and Govern
 
Microsoft Zero Trust
Microsoft Zero TrustMicrosoft Zero Trust
Microsoft Zero Trust
 
MEM for OnPrem Environments
MEM for OnPrem EnvironmentsMEM for OnPrem Environments
MEM for OnPrem Environments
 
Microsoft Threat Protection Automated Incident Response
Microsoft Threat Protection Automated Incident Response Microsoft Threat Protection Automated Incident Response
Microsoft Threat Protection Automated Incident Response
 
Azure Penetration Testing
Azure Penetration TestingAzure Penetration Testing
Azure Penetration Testing
 
Azure Penetration Testing
Azure Penetration TestingAzure Penetration Testing
Azure Penetration Testing
 
Penetration Testing Azure for Ethical Hackers
Penetration Testing Azure for Ethical HackersPenetration Testing Azure for Ethical Hackers
Penetration Testing Azure for Ethical Hackers
 
Microsoft Threat Protection Automated Incident Response Demo
Microsoft Threat Protection Automated Incident Response DemoMicrosoft Threat Protection Automated Incident Response Demo
Microsoft Threat Protection Automated Incident Response Demo
 
Microsoft Secure Score Demo
Microsoft Secure Score DemoMicrosoft Secure Score Demo
Microsoft Secure Score Demo
 
Microsoft Cloud App Security Demo
Microsoft Cloud App Security DemoMicrosoft Cloud App Security Demo
Microsoft Cloud App Security Demo
 
M365 Attack Simulation Demo
M365 Attack Simulation DemoM365 Attack Simulation Demo
M365 Attack Simulation Demo
 
Cloud Security Demo
Cloud Security DemoCloud Security Demo
Cloud Security Demo
 
Azure Active Directory - External Identities Demo
Azure Active Directory - External Identities Demo Azure Active Directory - External Identities Demo
Azure Active Directory - External Identities Demo
 
Azure WAF
Azure WAFAzure WAF
Azure WAF
 
Azure Weekend 2020 Build Malaysia Bus Uncle Chatbot
Azure Weekend 2020 Build Malaysia Bus Uncle ChatbotAzure Weekend 2020 Build Malaysia Bus Uncle Chatbot
Azure Weekend 2020 Build Malaysia Bus Uncle Chatbot
 
Microsoft Azure的20大常见安全漏洞与配置错误
Microsoft Azure的20大常见安全漏洞与配置错误Microsoft Azure的20大常见安全漏洞与配置错误
Microsoft Azure的20大常见安全漏洞与配置错误
 
20 common security vulnerabilities and misconfiguration in Azure
20 common security vulnerabilities and misconfiguration in Azure20 common security vulnerabilities and misconfiguration in Azure
20 common security vulnerabilities and misconfiguration in Azure
 
Integrate Microsoft Graph with Azure Bot Services
Integrate Microsoft Graph with Azure Bot ServicesIntegrate Microsoft Graph with Azure Bot Services
Integrate Microsoft Graph with Azure Bot Services
 
Azure Sentinel with Office 365
Azure Sentinel with Office 365Azure Sentinel with Office 365
Azure Sentinel with Office 365
 

Recently uploaded

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 

Recently uploaded (20)

What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 

Advanced Cross-Platform Mobile Apps with Azure Mobile Apps and Xamarin

Editor's Notes

  1. So what is Native? What is it mean to create a native application?
  2. To create a Native app, you need a great Native User Interface. There’s a reason someone bought an iOS,Android or Windows device. They like the hardware,but they also love the software. So, we want access to every single control. And as developers, we want access to every single Native API to really set our application apart in the App store. And then finally they had to be super performance. When u click on a button, you juz want it to react immediately. So you get access to all the Native UI, API and Performance.
  3. So u wanna talk about cross platform. We want all 3 things. And that’s where Xamarin Comes in with our unique approach to mobile development. Enabling you to build all of your iOS,Android,Mac, and Windows applications all in C# with beautiful C# features, having access to 100% of the APIs and sharing bulk of your business logic. So your models, view models,RESTful service calls, SQL databases,things are the same.We can still craft up beautiful user interfaces for each platform and get native performance.
  4. Now when you build out the user interface, we have two approaches. Xamarin Native, building ona Native iOS storyboard, Android-XML and XAML for any of your Windows applications. But typing in that shared C# business logic,. So that really gives you the high fidelity applications, access to every single UI components, anything that you possibly need. But if you’re building an application, you wanna go even further in shared code.
  5. Maybe wanna share some of the UI layer but not lose that native goodness,that’s where Xamarin.Forms comes in. With a cross platform user interface abstraction, you build one XAML but you still get native controls on each platform. But it is an abstruction so it is the common controls and elements. Things that are really good like conference applications or forms over data type applications. There's tons of great applications that have been built with Xamarin.Forms today. And it just sits on top of Xamarin Native as you would expect to build of this native Applications.
  6. Now, how does that work? Well, if you're a Windows developer, you have all of .NET available to you and for a long time, that's been restricted to just a Windows machine. So, you'd get .NET, install it, or be bundled into your application. And then, when you wanna go and develop for maybe, ASP.NET or UWP, you download an SDK and you get some great name spaces associated with that application.
  7. Think of it exactly the same when you want to go to iOS or Android with Xamarin. You'd have all of that .NET goodness running on there with the .NET runtime optimized for iOS, but you get 100% API coverage for every single API inside iOS.
  8. And the same for Android. You get all of the Android name spaces and all that .NET goodness right there. But we don't stop there, because what we do is we add an advanced C# features like a single weight, lambdas, events, delegates. So even though you're accessing a Native API, you're still doing it all in C# with beautiful C# features. And this enables you to build a shared business logic layer. Our average is 60 to 70% code sharing with Xamarin Native and all the way up to nearly 95% with Xamarin.Forms in that shared UI.
  9. We still get that native performance. So what we do on iOS is we do a full ahead of time compilation. Compile your C# code down into IL, one more time into LVM bytecode and then finally send that through an LVM compiler and optimizer to get, boom, a beautiful native ARM binary. Since your users there's no difference, they just go to the app store, hit download, and boom you have a great application on your device. In fact you probably have tons of Xamarin applications already installed on your phone.
  10. Now you can use Visual Studio either on the PC or on Mac to develop Xamarin applications, including the community edition. Everything in Xamarin is free in the community edition. Everything in Xamarin is free in the community edition. Everything in Xamarin is free in the community edition.
  11. Everything in Xamarin is free in the community edition. So truly anything that you can do in objective-C, Swift or Java, you can do it in C# with Xamarin, inside of Visual Studio.
  12. So we'll talk about what else I wanna do with my applications, because while it's easy to just do a file new, we know that every great application needs a great backend. And you need to handle scenarios like online offline data synchronization.
  13. we have an amazing infrastructure for you to use, which is Azure, with hundreds of data centersMore than AWS and Google Cloud combined.where you can deploy your code into over 38 compute regions. More than AWS and Google Cloud combined.
  14. And inside of Azure lives Azure Mobile Apps, part of App Service. Extremely powerful You can do almost anything your backend would ever need to do with Azure. Data storage, authentication/authorization, push notifications, custom APIs, blob storage, etc. Flexible Need something lightweight? Azure is there. Need something robust and powerful? Azure is there. C# clients I’m 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# client Abstracts away much of pain of using a RESTful API C# Features Async / Await / TPL Uses C# idioms Properties, Fluent API Seems obvious, but not always true (first class citizen)
  15. It works a little bit like this. You install it into your Xamarin and Windows applications an SDK that's cross platform. And there's a RESTful API that lays between your applications and your backend service codes, where it does your data connections to SQL Azure or user authentication even push notifications. But it handles all this through a seemless API and even does online offering data synchronization automatically for you storing it in a local SQL database. And you can of course leverage and deploy your backend code or wherever you want.