Developing iOS and Android Apps in Visual Studio with Xamarin

Developing iOS and Android Apps in Visual Studio with Xamarin

279b474d14f72e4daa1fc76e6f3c929f?s=128

Greg Shackles

August 26, 2014
Tweet

Transcript

  1. Developing iOS and Android Apps in Visual Studio with Xamarin

    + =
  2. Hello, world! Greg Shackles Senior Engineer Olo greg@gregshackles.com @gshackles github.com/gshackles

    speakerdeck.com/gshackles
  3. nycmobiledev.net @NYCMobileDev

  4. gonemobile.io @GoneMobileCast

  5. What is native?

  6. The Anatomy of a Native App

  7. The Anatomy of a Native App Native User Interfaces

  8. The Anatomy of a Native App Native User Interfaces Native

    API Access
  9. The Anatomy of a Native App Native User Interfaces Native

    API Access Native Performance
  10. The Silo Approach Build App 
 Multiple Times

  11. The Write-Once-Run-Anywhere Approach Lowest Common Denominator

  12. Xamarin’s Approach Native With Code Sharing

  13. Base Class Libraries

  14. Windows APIs

  15. iOS APIs | 100% Coverage

  16. Android APIs | 100% Coverage

  17. Anything you can do in Objective-C or Java 
 can

    be done in C# with Xamarin using Visual Studio Pro Tip
  18. Native Performance Xamarin.iOS does full Ahead Of Time (AOT) compilation

    to produce an ARM binary for Apple’s App Store.
  19. Native Performance Xamarin.iOS does full Ahead Of Time (AOT) compilation

    to produce an ARM binary for Apple’s App Store. Xamarin.Android takes advantage of Just In Time (JIT) compilation on the Android device."
  20. Always Up To Date Same day support for " iOS

    5, iOS 6, iOS 6.1, " iOS 7, iOS 7.1!! "
  21. Always Up To Date Always up-to-date with the latest APIs

    from Apple and Google.
  22. Distribute Everywhere A Xamarin app is an app, distribute it

    everywhere
  23. Bring Your Favorite Libraries Json.NET Rx …and many more!

  24. Code Sharing

  25. File Linking

  26. Shared Code Projects

  27. Portable Class Libraries " • 1 Assembly" • Multiple Platforms"

    • Including:" • Xamarin.Android" • Xamarin.iOS
  28. Tools

  29. Xamarin.Mac Xamarin Studio Xamarin Test Cloud Component Store Xamarin.iOS Xamarin.Android

    Xamarin for " Visual Studio .NET Mobility Scanner
  30. Development Environment Xamarin Studio" PC or Mac Visual Studio Plugin"

    VS 2010/2012/2013
  31. Visual Studio Integration

  32. Visual Studio Integration Debug to:" • Emulators" • Devices" "

    " Integrated into toolbar" • Status" • Logs" • List of devices" " Just Click Start Debugging!
  33. Android Designer

  34. iOS Designer Fully integrated into Xamarin Studio & Visual Studio

    " iOS 6 & 7 Storyboard support " Intuitive event handling
 Support for auto-layout " Live preview of custom controls " " "
  35. Component Store

  36. First Class F# Support

  37. Razor Templating

  38. Test Cloud

  39. Xamarin.Forms Traditional Xamarin approach

  40. Xamarin.Forms Xamarin.Forms Traditional Xamarin approach Shared UI Code

  41. Xamarin.Forms: What’s Included?

  42. Xamarin.Forms: What’s Included? ▪ 40+ Pages, Layouts, and Controls ▪

    Build from code or XAML
  43. Xamarin.Forms: What’s Included? ▪ 40+ Pages, Layouts, and Controls ▪

    Build from code or XAML ▪ Two-way Data Binding
  44. Xamarin.Forms: What’s Included? ▪ 40+ Pages, Layouts, and Controls ▪

    Build from code or XAML ▪ Two-way Data Binding ▪ Navigation
  45. Xamarin.Forms: What’s Included? ▪ 40+ Pages, Layouts, and Controls ▪

    Build from code or XAML ▪ Two-way Data Binding ▪ Navigation ▪ Animation API
  46. Xamarin.Forms: What’s Included? ▪ 40+ Pages, Layouts, and Controls ▪

    Build from code or XAML ▪ Two-way Data Binding ▪ Navigation ▪ Animation API ▪ Dependency Service
  47. Xamarin.Forms: What’s Included? ▪ 40+ Pages, Layouts, and Controls ▪

    Build from code or XAML ▪ Two-way Data Binding ▪ Navigation ▪ Animation API ▪ Dependency Service ▪ Messaging Center
  48. Xamarin.Forms: Pages

  49. Xamarin.Forms: Pages Content MasterDetail Navigation Tabbed Carousel

  50. Xamarin.Forms: Layouts

  51. Xamarin.Forms: Layouts Stack Absolute Relative Grid ContentView ScrollView Frame

  52. Xamarin.Forms: Controls ActivityIndicator BoxView Button DatePicker Editor Entry Image Label

    ListView Map OpenGLView Picker ProgressBar SearchBar Slider Stepper TableView TimePicker WebView EntryCell ImageCell SwitchCell TextCell ViewCell
  53. None
  54. None
  55. Let’s Code