3. How Does it Work?
• Mono
C# + .NET implementation for Linux
started in 2001/released 2004
perfect fit for today’s mobile platforms: iOS & Android
.NET 4.5 / C# 5
• “Bindings”
exposes underlying SDKs as C#
think “projections” in Windows RT language:
http://stackoverflow.com/questions/7432905/what-are-winrt-language-projections
http://tirania.org/blog/archive/2011/Sep-15.html
4. How Does it Work?
• “Bindings”
exposes CocoaTouch/Objective-C as C#
you can write your own to incorporate any Objective-C
• Compiler
compiles IL and native runtime into native ARM app
can link out unused code - smaller executables
signs code for device testing and upload to App Store
iOS
5. How Does it Work?
• “Bindings”
exposes Android/Java as C#
you can write your own to incorporate any Java
• Compiler
produces IL and ships a native runtime to execute it
can link out unused code - smaller executables
signed for distribution to any phone, or stores like Google
Play, Amazon, ...
Android
6. How Does it Work?
• “Bindings”
exposes Cocoa/Objective-C as C#
you can write your own to incorporate any
Objective-C libraries/projects
• Compiler
produces IL and ships a native runtime to execute it
can link out unused code - smaller executables
apps can be distributed via Mac App Store
OS X
7. Why Xamarin.iOS?
• Write C# apps for iPhone, iPad and iPod
• Share C# with other platforms:
re-use C# from existing projects
• Create native iOS user interface
• Native app == native performance
• Entire iOS SDK directly accessible
(StoreKit, iCloud, etc)
• You can add your own Objective-C libraries too
8. Why Xamarin.Android?
• Write C# apps for Android phones & tablets
• Share C# with other platforms:
re-use C# from existing projects
• Create native Android user interface
• Native runtime == native performance
• Entire Android SDK available (including
Play Services and Compat Library)
• Use Java libraries (if required)
9. Why Xamarin.Mac?
• Write C# apps for Mac OS X
• Share C# with other platforms:
re-use C# from existing projects
• Create native Mac (Cocoa) user interface
• Native app == native performance
• Entire Mac SDK directly accessible
• You can add your own Objective-C libraries too
companion
apps...
42. Recap
• Build iOS apps in C# with .NET
• Use Xamarin Studio or Visual Studio
• Apps have native look and feel
• Apps are native, with native performance
• Share code
• Component Store
http://components.xamarin.com
43. What else?
• async/await
• F#
• Portable Class Libraries (PCL)
• iOS7
New features and APIs...
• Google Play Services
In app purchasing, Location services, Maps v2
44. Go!
• 10 minute guide to building an app
http://xamarin.com/getting-started
• Docs, Recipes
http://docs.xamarin.com/
• Forums
http://forums.xamarin.com
• Samples
http://github.com/xamarin
http://xamarin.com/download