INTRODUCING MONO & XAMARIN
BY
Rupreet Singh Gujral (rupreetg@outlook.com)
Product Development / Architect / Entrepreneur
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
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]
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
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
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
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
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
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
Q&A
Aim and shoot your questions!
Image source: http://egamer.co.za/2011/07/review-shadows-of-the-damned/
THANK YOU!
Image Source: http://www.comicvine.com/forums/battles-7/spiderman-vs-wesker-670859/

Introducing mono & xamarin

  • 1.
    INTRODUCING MONO &XAMARIN BY Rupreet Singh Gujral (rupreetg@outlook.com) Product Development / Architect / Entrepreneur
  • 2.
    AGENDA • What isMono & 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 EVOLUTIONOF 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 EVOLUTIONOF 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 BEHINDRUNNING 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 BEHINDRUNNING 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 createa 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 shootyour questions! Image source: http://egamer.co.za/2011/07/review-shadows-of-the-damned/
  • 11.
    THANK YOU! Image Source:http://www.comicvine.com/forums/battles-7/spiderman-vs-wesker-670859/