SlideShare a Scribd company logo
@slodge




C# - Cloud to Mobile
Survival, Inquiry, Sophistication
What we’ll be talking about


C# Cloud
C# Clients
C# Cloud-Client Communication
C# Code
Real App Examples
Q&A
Survival, Inquiry, Sophistication


1. How can we eat?
2. Why do we eat?
3. Where shall we have lunch?

             “The History of every major Galactic Civilization tends to pass through three
             distinct and recognizable phases, those of Survival, Inquiry and Sophistication,
             otherwise known as the How, Why, and Where phases. For instance, the first
             phase is characterized by the question 'How can we eat?' the second by the
             question 'Why do we eat?' and the third by the question 'Where shall we have
             lunch?”


     ― Douglas Adams, The Restaurant at the End of the Universe
Why C#?


Shared code across mobile and cloud
“low level”: compiles, typesafe, quick
Native performance
Native look and feel
Testable
Libraries: commercial and open – and nuget!
Generics, Linq, async/await and the future…
You already have: skills, tools, code
Why Azure?


Storage – lots of it
Connectivity – lots of it. Continuous. Global
Processing – lots of it. Scalable. Burstable.
Privacy/Security
Quick updateability
Toys – ACS, Queuing, CDN, TrafficManager,
Caching, Services, …
Examples: Lottery Results


                       Push




                Web Role                Worker Role




                              Storage
Important


Azure is:
  big
  cheap


Azure is not:
  infinite
  free
Demo: Code


TweetPic



             Azure
             Website   Azure     SQL
                       Storage   Azure
Storage: SQL via EF Code First
Storage: Azure Blob Uploads
Data Services: WCF oData
Data Services: Json ASP.Net MVC
Size Matters

XML             JSON
               JSON list of 100 pictures   Gzip JSON




58kB           21kB                        2kB
TweetPic Server

                                 Sophistication: Lots of C# Server
Server:                          technologies are available:
  Storage:                           nHibernate
                                     RavenDB
   Code First Entity Framework       Lucene.Net
   Azure C# SDK                      MVC Async (+SignalR)
                                     ServiceStack
  Logic/Services:                    Azure - Access Signatures
                                     WebAPI
   Custom C#                         OpenRasta
   Twitterizer                       Simple.Web
                                     Nancyfx
  Presentation:                      FubuMvc
   ASP.NET MVC (Json)                ASMX and WebForms
                                     ProtocolBuf.Net
   WCF (oData)                       …
Survival: Simple TweetPic Client




        WP7

        XAML
        + C# CodeBehind
Survival: Simple TweetPic Client
Inquiry: TweetPic Client




Service Consumption         Local Data/Services

Business Logic

UI Logic - ViewModels

Presentation - WP7 – XAML
Sophistication: TweetPic Clients




Service Consumption                 Local Data/Services

Business Logic

UI Logic - ViewModels

WP7 – XAML            Win8 – XAML   iOS – XIB/MT.D        Droid – AXML
Sophistication: TweetPic clients
Declarative Presentation
C# App Stack

Data Access

Business Logic

Presentation


Service Consumption         Local Data/Services

Business Logic

UI Logic

WP7                   iOS   Droid                 Win8
Examples: RunSat



                     SQL
                     Server


                   Non Cloud
                   Web Site




                               Blob
                               Storage
Examples: SQLBits Conference App
Examples: Azure London Conference App


Azure Website based
  Service Download
  Twitter Authentication
  Checkin
  Checkin Scoreboards
  Photo Upload
Example: Azure London Conference App
Examples: Xbox Advertising Apps
Example: Xbox Advertising Apps
Example: Xbox Advertising Apps
Examples: AzureApp
Recap


C# Cloud
C# Clients
C# Cloud-Client Communication
C# Code
Real App Examples
Q&A
For more info…

For server:
  azure.com
  Wade Wenger’s talks on WP7/Android/iOS toolkits
  watwp.codeplex.com


For clients:
  create.msdn.com
  xaminars from xamarin.com
  github.com/slodge/mvvmcross
@slodge

More Related Content

PPT
10 things I’ve learnt In the clouds
PDF
Isomorphic JavaScript: #DevBeat Master Class
PDF
In Pursuit of the Holy Grail: Building Isomorphic JavaScript Apps
PDF
Building Isomorphic JavaScript Apps - NDC 2015
PPT
Fast Slim Correct: The History and Evolution of JavaScript.
PDF
General Assembly Workshop: Advanced JavaScript
PDF
Node, express & sails
PDF
Beginning MEAN Stack
10 things I’ve learnt In the clouds
Isomorphic JavaScript: #DevBeat Master Class
In Pursuit of the Holy Grail: Building Isomorphic JavaScript Apps
Building Isomorphic JavaScript Apps - NDC 2015
Fast Slim Correct: The History and Evolution of JavaScript.
General Assembly Workshop: Advanced JavaScript
Node, express & sails
Beginning MEAN Stack

What's hot (20)

PPTX
PPT
The MEAN Stack: MongoDB, ExpressJS, AngularJS and Node.js
PPTX
MongoDB Days Silicon Valley: Building Applications with the MEAN Stack
PPTX
Xamarin workshop
PDF
MvvmCross Quickstart
PDF
Node.js with Express
PDF
LAMP is so yesterday, MEAN is so tomorrow! :)
PPT
Get MEAN! Node.js and the MEAN stack
PPTX
MEAN stack
PDF
MJ Berends talk - Women & Non-Binary Focused Intro to AWS
PDF
JSConf US 2014: Building Isomorphic Apps
PDF
Back to the future: Isomorphic javascript applications
PPTX
Node.Js: Basics Concepts and Introduction
PPTX
Introduction to mean stack
PPTX
Getting started with Emscripten – Transpiling C / C++ to JavaScript / HTML5
PDF
Communication tool & Environment for Remote Worker
PDF
Consuming ASP.NET Web API with WebSockets
PPTX
Xamarin - Beyond the Basics
PDF
JavaScript Engine and WebAssembly
PPTX
Building your first MEAN application
The MEAN Stack: MongoDB, ExpressJS, AngularJS and Node.js
MongoDB Days Silicon Valley: Building Applications with the MEAN Stack
Xamarin workshop
MvvmCross Quickstart
Node.js with Express
LAMP is so yesterday, MEAN is so tomorrow! :)
Get MEAN! Node.js and the MEAN stack
MEAN stack
MJ Berends talk - Women & Non-Binary Focused Intro to AWS
JSConf US 2014: Building Isomorphic Apps
Back to the future: Isomorphic javascript applications
Node.Js: Basics Concepts and Introduction
Introduction to mean stack
Getting started with Emscripten – Transpiling C / C++ to JavaScript / HTML5
Communication tool & Environment for Remote Worker
Consuming ASP.NET Web API with WebSockets
Xamarin - Beyond the Basics
JavaScript Engine and WebAssembly
Building your first MEAN application
Ad

Similar to C# - Azure, WP7, MonoTouch and Mono for Android (MonoDroid) (20)

PDF
C# Client to Cloud
PPT
ArcReady - Architecting For The Cloud
PDF
Windows phone 7 deep dive again and more - roberto freato WhyMCA 2012
PPT
Arc Ready Cloud Computing
PPT
WP7 & Azure
PPTX
Windows Phone 7 and Windows Azure – A Match Made in the Cloud
PDF
Mobilizing your Existing Enterprise Applications
PPTX
PPTX
Cloudy with a Dash of Universal Apps
PDF
Windows phone 7
PPTX
Digging deeper into service stack
PPTX
Social Photos - My presentation at Microsoft Tech Day
PPT
Unplugged
PDF
An Introduction to Sencha Touch
PPTX
Service stack all the things
PPT
Fanug - Pragmatic Windows Phone Developer
PPTX
Real World Architectures Using Windows Azure Mobile Services
PDF
Cross Platform Mobile Development
PPTX
Continuous delivery on the cloud
PPTX
Scalable Architectures - Microsoft Finland DevDays 2014
C# Client to Cloud
ArcReady - Architecting For The Cloud
Windows phone 7 deep dive again and more - roberto freato WhyMCA 2012
Arc Ready Cloud Computing
WP7 & Azure
Windows Phone 7 and Windows Azure – A Match Made in the Cloud
Mobilizing your Existing Enterprise Applications
Cloudy with a Dash of Universal Apps
Windows phone 7
Digging deeper into service stack
Social Photos - My presentation at Microsoft Tech Day
Unplugged
An Introduction to Sencha Touch
Service stack all the things
Fanug - Pragmatic Windows Phone Developer
Real World Architectures Using Windows Azure Mobile Services
Cross Platform Mobile Development
Continuous delivery on the cloud
Scalable Architectures - Microsoft Finland DevDays 2014
Ad

More from Stuart Lodge (16)

PPTX
Hot tuna - from Sean Cross
PDF
Helping the Lions Roar
PDF
MvvmCross Introduction
PDF
Wpug meeting - wp to win8 experiences
PDF
AlphaLabs - Node Garden with Speech
PDF
About Cirrious ltd
PPTX
How to make a pig udf
PPTX
Mvvm cross – going portable
PPTX
Dev evening - MonoTouch, MonoDroid, Mvvm MvvmCross and databinding
PPTX
Wpug mvvm and data binding
PPTX
Ui testing for Windows Phone
PPTX
Ui Testing on Windows Phone
PPT
How To use Map Blogs
DOC
Uk Nuke Rpx Authentication For Dot Net Nuke
DOC
Uk Nuke Facebook Connect Authentication For Dot Net Nuke
DOC
UkNuke Facebook Connect Authentication For DotNetNuke 5
Hot tuna - from Sean Cross
Helping the Lions Roar
MvvmCross Introduction
Wpug meeting - wp to win8 experiences
AlphaLabs - Node Garden with Speech
About Cirrious ltd
How to make a pig udf
Mvvm cross – going portable
Dev evening - MonoTouch, MonoDroid, Mvvm MvvmCross and databinding
Wpug mvvm and data binding
Ui testing for Windows Phone
Ui Testing on Windows Phone
How To use Map Blogs
Uk Nuke Rpx Authentication For Dot Net Nuke
Uk Nuke Facebook Connect Authentication For Dot Net Nuke
UkNuke Facebook Connect Authentication For DotNetNuke 5

Recently uploaded (20)

PPTX
MYSQL Presentation for SQL database connectivity
PDF
Approach and Philosophy of On baking technology
PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
NewMind AI Monthly Chronicles - July 2025
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPTX
Cloud computing and distributed systems.
PDF
Empathic Computing: Creating Shared Understanding
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Encapsulation theory and applications.pdf
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Electronic commerce courselecture one. Pdf
MYSQL Presentation for SQL database connectivity
Approach and Philosophy of On baking technology
Encapsulation_ Review paper, used for researhc scholars
Understanding_Digital_Forensics_Presentation.pptx
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
NewMind AI Monthly Chronicles - July 2025
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Spectral efficient network and resource selection model in 5G networks
Per capita expenditure prediction using model stacking based on satellite ima...
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Cloud computing and distributed systems.
Empathic Computing: Creating Shared Understanding
The AUB Centre for AI in Media Proposal.docx
Encapsulation theory and applications.pdf
20250228 LYD VKU AI Blended-Learning.pptx
Diabetes mellitus diagnosis method based random forest with bat algorithm
Electronic commerce courselecture one. Pdf

C# - Azure, WP7, MonoTouch and Mono for Android (MonoDroid)