Getting Started with Xamarin.iOS

2,224 views

Published on

This is the accompanying deck for a talk of the same name I gave at Codestock 2013. This talk is an introduction to writing iOS apps in C# using Xamarin.iOS (formerly MonoTouch). In this talk we review the basics of Xamarin.iOS, what the various work flows look like, and find out more about Xamarin and the company's goal of delighting developers. We also briefly touch on Xamarin.iOS as compared to other cross-platform development platforms.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,224
On SlideShare
0
From Embeds
0
Number of Embeds
13
Actions
Shares
0
Downloads
43
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Getting Started with Xamarin.iOS

  1. 1. GETTING STARTED WITH XAMARIN.iOS
  2. 2. WHAT IS XAMARIN.iOS?
  3. 3. Xamarin.iOS & Xamarin.Android • Platform for native iOS/Android development using C# • Formerly known as ‘MonoTouch’ and ‘Mono for Android’ • Based on Mono (.Net runtime for Linux platforms) • Provides .Net library on iOS/Android
  4. 4. Xamarin.iOS & Xamarin.Android (continued) • Uses C# as the backing language with native platform layouts (XIB on iOS, Android XML on Android) • Wraps native libraries for each platform with C# wrappers through a process known as ‘projection’ • Full access to native libraries + simplifications in areas
  5. 5. Xamarin.Mobile • Library which provides common device functionality across iOS, Android, and Windows • Provides access to contacts, camera, and geo-location MonoTouch.Dialog • iOS library to quickly create table based layouts through simplified elements
  6. 6. (image credit: Parse.com)
  7. 7. BUILDING XAMARIN.iOS APPS
  8. 8. iOS Development Basics • MVC Architecture (Code) • Storyboards vs XIBs (UI) • Storyboards are newer and combine all views into one storyboard which can control user flows and segues • XIBs are older and define a single screen
  9. 9. Xamarin Studio (or Visual Studio) • Recently re-designed IDE from Xamarin • Awesome IDE, like a simpler Visual Studio • Component Store for common libraries and UI controls XCode (or Xamarin Studio) • XCode Interface Builder is how native iOS apps are built • Xamarin Studio adding its own interface designer soon (currently in Alpha channel) Code UI
  10. 10. HELLO WORLD(Xamarin Studio & XCode coding demo)
  11. 11. TIPS
  12. 12. TIPS Open multiple solutions within Xamarin Studio
  13. 13. TIPS Adjust code formatting style
  14. 14. TIPS Double Command - make home and end keys work on a Mac
  15. 15. DELIGHTING DEVELOPERS
  16. 16. Xamarin Android and iOS Designers Alpha today, release in August 2013Android designer, released in 2012
  17. 17. Xamarin Test Cloud Automatically test hundreds of iOS / Android devices with UI tests
  18. 18. Xamarin Test Cloud Automatically test hundreds of iOS / Android devices with UI tests
  19. 19. Xamarin Test Cloud Automatically test hundreds of iOS / Android devices with UI tests SIGN UP FOR BETA @ Xamarin.com/test-cloud
  20. 20. Objective Sharpie Generate C# bindings for iOS libraries
  21. 21. RESOURCES
  22. 22. Resources • Xamarin.com (documentation, forums, chat, etc.) • Xamarin Evolve 2013 recordings http://xamarin.com/evolve/2013 • Atlanta Xamarin Users Group (Wednesday, June 19th) http://meetup.com/Atlanta-Xamarin-Users-Group/ • Books (MonoTouch or iOS) • Pluralsight training videos • Conferences (ex: CodeStock in July)
  23. 23. Extensions • Xamarin Studio Components • TinyIOC • Parse.com • MvvmCross (cross-platform pattern for all platfoms) • MonoTouch Bindings (ATMHud, AmazonLogin, Facebook, Flurry Analytics, Google Maps, Kiip, Paypal, Red Laser, Test Flight, Three 20, Urban Airship, etc.)
  24. 24. CROSS PLATFORM
  25. 25. Native • 100% native platform experience • No code share with other platforms • Differing code and UI tech per platform Appcelerator Titanium Phonegap Xamarin • 100% native platform experience • Code share with all other platforms • Differing UI tech per platform • C# • Javascript SDK which defines and interacts with native controls • SDK may not support all controls or provide all native interfaces • JS • Web browser in an app with JS wrappers for native calls (GPS, Camera, etc.) Sencha Touch • Web controls that mimic native applications
  26. 26. THANK YOU!
  27. 27. ALL MOBILE EVERYTHING Roger Peters (@SmartyP) Independent Mobile Developer AllMobileEverything.com SmartyPantsCoding.com SmartyP.net

×