SlideShare a Scribd company logo
Prepared By Yan Drugalya
yan@unity3d.com
Prepared By Yan Drugalya
yan@unity3d.com
Agenda

 Goals
 History
 Products
 Architecture
 Features
 Demoes
What is mono

 Mono is:
 ECMA compliant implementation of .NET framework
 .NET compatible set of tools
 CLR

 Compiler
 xbuild.
Motivation

 C# is a beautiful language
 Bring C# to different platforms:
 Android, MAC OSX, Solaris, PS3, Wii, Xbox 360

 No one was interested in developers
 Compatible runtime to the CLR
 ECMA made it possible
 Develop, build, debug on Windows, Linux or MAC
Products
Products
History
-

DEC 2000 .NET CTP

-

Jul 2001 Mono project started

-

Jan 2002. .NET 1.0

-

Aug 2003 - Novell acquires Ximian

-

Jun 2004 - Mono 1.0

-

Nov 2006 - Mono 1.2 (C# 2.0 support)

-

Oct 2008 – Mono 2.0 (C# 3.0 and visual basic compiler)

-

Jan 2009 - Mono 2.2
-

performance improvements

-

C# REPL

-

AOT Compiling

-

March 2009 – Mono 2.4 (2.2 for suse)

-

Dec 2009 – Mono 2.6 (web, LINQ, xbuild)
History
 Sep 2010 Mono 2.8
 C# 4, ASP.NET 4.0
 Dynamic code generation and GC
 MEF

 Apr 2011 Attachmate acquires Novell

 May 2011 Xamarin founded
 2012-10-18
 C# 5.0, ASYNC
Current State
 OCT 2013 Mono 3.2
 AIM: full support of feature of .NET 4.0 except
WPF, WF, limited WCF
 C# 5
 F#
 2.10 is no longer supported
Components

Linux stack

Microsoft Stack

Gtk#, Mono.Posix, DB…

ADO, ASP, Web Forms…

Core: Compiler, VM
Modularity

Mono And .NET Miguel de Icaza PDC 2008
AOT/Static compilation

Mono And .NET Miguel de Icaza PDC 2008
Features

 Compiler as a library
 Mono linker (Re-shaping assemblies)
 Injecting Code Into the live process
 …
Demo
Games

Graphics
Engine

Game
engine

Game AI

Low
Level

Low
Level

Scripts
Demo
Games: Mono.SIMD

C#
IL

x86

• pos += delta

• call [Mono.Simd]Mono.Simd.Vector4f::op_Addition(
valuetype [Mono.Simd]Mono.Simd.Vector4f,
valuetype [Mono.Simd]Mono.Simd.Vector4f)

• movups (%eax),%xmm0
• movups (%edi),%xmm1
• addps %xmm1,%xmm0
• movups %xmm0,(%eax)
UI
Mark Zuckerberg: Our Biggest Mistake Was Betting Too
Much On HTML5

 Android
 business logic:Xamarin studio or visual studio
 UI: Xamarin android designer

 iOS :
 business logic: Xamarin studio or visual studio
 UI: Xamarin android designer
UI

 Write once, run ugly anywhere (WORA)
 It is not about mono approach
 UI is a plugin!
Mono on Android
How to develop

 Be proactive!
 Don’t trust - test
 Don’t hope - deploy and test
 Be ready for Objective-C and Java
Other

 Play script
 XNA and Mono Game
 Win Forms on nokia N900
 mono on Raspberry Pi
References

 http://www.mono-project.com
 Miguel de Icaza presentation on PDC 2008
 Personal blog of Miguel de Icaza
 monodroid

 habrhabr.ru
Questions ?

More Related Content

Viewers also liked (7)

Object-2-Object mapping, как приправа к вашему проекту
Object-2-Object mapping, как приправа к вашему проектуObject-2-Object mapping, как приправа к вашему проекту
Object-2-Object mapping, как приправа к вашему проекту
 
Design principles
Design principles Design principles
Design principles
 
Bdd by Dmitri Aizenberg
Bdd by Dmitri AizenbergBdd by Dmitri Aizenberg
Bdd by Dmitri Aizenberg
 
Microsoft Office 2013 новая модель разработки приложений
Microsoft Office 2013 новая модель разработки приложенийMicrosoft Office 2013 новая модель разработки приложений
Microsoft Office 2013 новая модель разработки приложений
 
Patterns of parallel programming
Patterns of parallel programmingPatterns of parallel programming
Patterns of parallel programming
 
Deep Dive C# by Sergey Teplyakov
Deep Dive  C# by Sergey TeplyakovDeep Dive  C# by Sergey Teplyakov
Deep Dive C# by Sergey Teplyakov
 
Async clinic by by Sergey Teplyakov
Async clinic by by Sergey TeplyakovAsync clinic by by Sergey Teplyakov
Async clinic by by Sergey Teplyakov
 

Similar to Mono

Cross Platform Net Development With Mono And My Sql Presentation
Cross Platform  Net Development With Mono And My Sql PresentationCross Platform  Net Development With Mono And My Sql Presentation
Cross Platform Net Development With Mono And My Sql Presentation
snowland nk
 
WebGL games with Minko - Next Game Frontier 2014
WebGL games with Minko - Next Game Frontier 2014WebGL games with Minko - Next Game Frontier 2014
WebGL games with Minko - Next Game Frontier 2014
Minko3D
 
Minko - Why we created our own Flash platform and why you should care
Minko - Why we created our own Flash platform and why you should careMinko - Why we created our own Flash platform and why you should care
Minko - Why we created our own Flash platform and why you should care
Minko3D
 
Mono for .NET Developers
Mono for .NET DevelopersMono for .NET Developers
Mono for .NET Developers
jeffz
 

Similar to Mono (20)

Cross Platform Net Development With Mono And My Sql Presentation
Cross Platform  Net Development With Mono And My Sql PresentationCross Platform  Net Development With Mono And My Sql Presentation
Cross Platform Net Development With Mono And My Sql Presentation
 
Stef_AmoaCV
Stef_AmoaCVStef_AmoaCV
Stef_AmoaCV
 
WebGL games with Minko - Next Game Frontier 2014
WebGL games with Minko - Next Game Frontier 2014WebGL games with Minko - Next Game Frontier 2014
WebGL games with Minko - Next Game Frontier 2014
 
Christchurch Embedded .NET User Group - Introduction to Microsoft Embedded pl...
Christchurch Embedded .NET User Group - Introduction to Microsoft Embedded pl...Christchurch Embedded .NET User Group - Introduction to Microsoft Embedded pl...
Christchurch Embedded .NET User Group - Introduction to Microsoft Embedded pl...
 
Von Bayern in die Cloud
Von Bayern in die CloudVon Bayern in die Cloud
Von Bayern in die Cloud
 
DWX2015 - Von Bayern in die Cloud
DWX2015 - Von Bayern in die CloudDWX2015 - Von Bayern in die Cloud
DWX2015 - Von Bayern in die Cloud
 
Cross platform development with C#
Cross platform development with C#Cross platform development with C#
Cross platform development with C#
 
Top 10 Essential Technologies For Every Full Stack .NET Developer!
Top 10 Essential Technologies For Every Full Stack .NET Developer!Top 10 Essential Technologies For Every Full Stack .NET Developer!
Top 10 Essential Technologies For Every Full Stack .NET Developer!
 
Targeting Android with Qt
Targeting Android with QtTargeting Android with Qt
Targeting Android with Qt
 
Symbian OS
Symbian OSSymbian OS
Symbian OS
 
Symbianos 090510075232-phpapp01 (1)
Symbianos 090510075232-phpapp01 (1)Symbianos 090510075232-phpapp01 (1)
Symbianos 090510075232-phpapp01 (1)
 
Minko - Why we created our own Flash platform and why you should care
Minko - Why we created our own Flash platform and why you should careMinko - Why we created our own Flash platform and why you should care
Minko - Why we created our own Flash platform and why you should care
 
Software Disasters
Software DisastersSoftware Disasters
Software Disasters
 
Dot Net Project Mini Game
Dot Net Project Mini GameDot Net Project Mini Game
Dot Net Project Mini Game
 
Introduction to Symbian OS
Introduction to Symbian OSIntroduction to Symbian OS
Introduction to Symbian OS
 
Droidcon 2011: Mosync mobile framework, Stefan Sels, Tronicum
Droidcon 2011: Mosync mobile framework, Stefan Sels, TronicumDroidcon 2011: Mosync mobile framework, Stefan Sels, Tronicum
Droidcon 2011: Mosync mobile framework, Stefan Sels, Tronicum
 
.NET, OSS & Mono
.NET, OSS & Mono.NET, OSS & Mono
.NET, OSS & Mono
 
Embarcadero C++Builder XE3 Datasheet
Embarcadero C++Builder XE3 DatasheetEmbarcadero C++Builder XE3 Datasheet
Embarcadero C++Builder XE3 Datasheet
 
Pearce Barry Resume
Pearce Barry ResumePearce Barry Resume
Pearce Barry Resume
 
Mono for .NET Developers
Mono for .NET DevelopersMono for .NET Developers
Mono for .NET Developers
 

Recently uploaded

Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
Bhaskar Mitra
 

Recently uploaded (20)

In-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsIn-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT Professionals
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 

Mono