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


Published on

Talk given at London Azure conference 2012 - ScottGu was my warm up :)

Published in: Technology
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

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

  1. 1. @slodgeC# - Cloud to MobileSurvival, Inquiry, Sophistication
  2. 2. What we’ll be talking aboutC# CloudC# ClientsC# Cloud-Client CommunicationC# CodeReal App ExamplesQ&A
  3. 3. Survival, Inquiry, Sophistication1. 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
  4. 4. Why C#?Shared code across mobile and cloud“low level”: compiles, typesafe, quickNative performanceNative look and feelTestableLibraries: commercial and open – and nuget!Generics, Linq, async/await and the future…You already have: skills, tools, code
  5. 5. Why Azure?Storage – lots of itConnectivity – lots of it. Continuous. GlobalProcessing – lots of it. Scalable. Burstable.Privacy/SecurityQuick updateabilityToys – ACS, Queuing, CDN, TrafficManager,Caching, Services, …
  6. 6. Examples: Lottery Results Push Web Role Worker Role Storage
  7. 7. ImportantAzure is: big cheapAzure is not: infinite free
  8. 8. Demo: CodeTweetPic Azure Website Azure SQL Storage Azure
  9. 9. Storage: SQL via EF Code First
  10. 10. Storage: Azure Blob Uploads
  11. 11. Data Services: WCF oData
  12. 12. Data Services: Json ASP.Net MVC
  13. 13. Size MattersXML JSON JSON list of 100 pictures Gzip JSON58kB 21kB 2kB
  14. 14. TweetPic Server Sophistication: Lots of C# ServerServer: 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) …
  15. 15. Survival: Simple TweetPic Client WP7 XAML + C# CodeBehind
  16. 16. Survival: Simple TweetPic Client
  17. 17. Inquiry: TweetPic ClientService Consumption Local Data/ServicesBusiness LogicUI Logic - ViewModelsPresentation - WP7 – XAML
  18. 18. Sophistication: TweetPic ClientsService Consumption Local Data/ServicesBusiness LogicUI Logic - ViewModelsWP7 – XAML Win8 – XAML iOS – XIB/MT.D Droid – AXML
  19. 19. Sophistication: TweetPic clients
  20. 20. Declarative Presentation
  21. 21. C# App StackData AccessBusiness LogicPresentationService Consumption Local Data/ServicesBusiness LogicUI LogicWP7 iOS Droid Win8
  22. 22. Examples: RunSat SQL Server Non Cloud Web Site Blob Storage
  23. 23. Examples: SQLBits Conference App
  24. 24. Examples: Azure London Conference AppAzure Website based Service Download Twitter Authentication Checkin Checkin Scoreboards Photo Upload
  25. 25. Example: Azure London Conference App
  26. 26. Examples: Xbox Advertising Apps
  27. 27. Example: Xbox Advertising Apps
  28. 28. Example: Xbox Advertising Apps
  29. 29. Examples: AzureApp
  30. 30. RecapC# CloudC# ClientsC# Cloud-Client CommunicationC# CodeReal App ExamplesQ&A
  31. 31. For more info…For server: azure.com Wade Wenger’s talks on WP7/Android/iOS toolkits watwp.codeplex.comFor clients: create.msdn.com xaminars from xamarin.com github.com/slodge/mvvmcross
  32. 32. @slodge