This session talks about evolution of Mono and Xamarin and some pretty cool demo of how to leverage your .NET skills to develop iPhone and Android applications.
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
Introducing Mono & Xamarin: Cross-Platform Mobile Development
1. INTRODUCING MONO & XAMARIN
BY
Rupreet Singh Gujral (rupreetg@outlook.com)
Product Development / Architect / Entrepreneur
2. AGENDA
• What is Mono & Xamarin?
• History and evolution of Mono & Xamarin
• Mono compatibility with .NET
• The magic behind running C# on iPhone and Android
• Demo: Creating a simple Android App using VS2012 and Xamarin
Studio
3. WHAT IS MONO/XAMARIN?
• Mono is an open source implementation of Microsoft's .NET Framework based on the ECMA
standards for C# and the Common Language Runtime (1)
• Runs on multiple platforms - Linux, OS X, BSD, iPhone, Android, PlayStation 3, Wii, Xbox 360, and
Microsoft Windows, including x86, x86-64, ARM, s390, PowerPC, SPARC, IA64, MIPS and much
more (1)
• Multiple languages - Develop in C# 5.0 (including async, LINQ and dynamic), VB 8, Java, Python,
Ruby, Eiffel, F#, Oxygene, and more (1)
• Xamarin is the company sponsoring mono development and support. Commercial products based
on mono are MonoTouch and MonoAndroid for developing cross platform mobile applications
(1) [source: www.mono-project.com]
4. HISTORY AND EVOLUTION OF MONO
• Mono started in July 2001 as an open source project
• Released v1.0 for mono in June 2004
• Full .NET 2.0 support and C# 3.0 in mono v2.0 in 2008
• Released moonlight (Silverlight for mono) in mono v2.6 in 2009
• Full .NET 4.0 support in mono v2.8 in 2010
• F#, IronRuby, IronPhyton support in v2.10 in 2011
• C# 5.0 support in mono v3.0 in 2012
5. HISTORY AND EVOLUTION OF XAMARIN
• Xamarin released v1.0 MonoTouch in 2009
• iPAD support in v2.0 MonoTouch in 2010
• iPhone 4 support in v3.0 MonoTouch in 2010
• Most of the iOS API support in v5.0 MonoTouch in 2011
• Xamarin Studio (v6.0 MonoTouch) introduced in 2013
6. MONO COMPATIBILITY WITH .NET
• Mono supports everything till .NET 4.0 except WPF, WWF and limited
WCF
• To verify if your .NET application is compatible with mono, run Mono
Migration Analyzer
7. THE MAGIC BEHIND RUNNING C# ON IPHONE
MonoTouch
Mono Framework
iOS SDK
Framework
Calls
Native
Bindings
iOS Operating System
C# Class
MonoTouch DLL
Mono Compiler
Native ARM code
8. THE MAGIC BEHIND RUNNING C# ON ANDROID
MCW: Mono Callable Wrapper
ACW: Android Callable Wrapper
Linux Kernel
Mono VM Dalvik VMACW
.NET API
Android
Binding
Android.* Java.*
(JNI)
MCW
9. DEMO
• Let’s create a simple app for iOS and Android
• UI designing in Xamarin Studio for both platforms
• Code sharing across platforms
• Seamlessly debug application in Xamarin Studio and Visual Studio
10. Q&A
Aim and shoot your questions!
Image source: http://egamer.co.za/2011/07/review-shadows-of-the-damned/