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

 Compile...
Motivation

 C# is a beautiful language
 Bring C# to different platforms:
 Android, MAC OSX, Solaris, PS3, Wii, Xbox 36...
Products
Products
History
-

DEC 2000 .NET CTP

-

Jul 2001 Mono project started

-

Jan 2002. .NET 1.0

-

Aug 2003 - Novell acquires Ximia...
History
 Sep 2010 Mono 2.8
 C# 4, ASP.NET 4.0
 Dynamic code generation and GC
 MEF

 Apr 2011 Attachmate acquires Nov...
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.1...
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...
UI
Mark Zuckerberg: Our Biggest Mistake Was Betting Too
Much On HTML5

 Android
 business logic:Xamarin studio or visual...
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
 ...
Questions ?
Mono
Mono
Mono
Mono
Upcoming SlideShare
Loading in...5
×

Mono

3,091

Published on

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
3,091
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Mono

  1. 1. Prepared By Yan Drugalya yan@unity3d.com
  2. 2. Prepared By Yan Drugalya yan@unity3d.com
  3. 3. Agenda  Goals  History  Products  Architecture  Features  Demoes
  4. 4. What is mono  Mono is:  ECMA compliant implementation of .NET framework  .NET compatible set of tools  CLR  Compiler  xbuild.
  5. 5. 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
  6. 6. Products
  7. 7. Products
  8. 8. 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)
  9. 9. 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
  10. 10. 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
  11. 11. Components Linux stack Microsoft Stack Gtk#, Mono.Posix, DB… ADO, ASP, Web Forms… Core: Compiler, VM
  12. 12. Modularity Mono And .NET Miguel de Icaza PDC 2008
  13. 13. AOT/Static compilation Mono And .NET Miguel de Icaza PDC 2008
  14. 14. Features  Compiler as a library  Mono linker (Re-shaping assemblies)  Injecting Code Into the live process  …
  15. 15. Demo
  16. 16. Games Graphics Engine Game engine Game AI Low Level Low Level Scripts
  17. 17. Demo
  18. 18. 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)
  19. 19. 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
  20. 20. UI  Write once, run ugly anywhere (WORA)  It is not about mono approach  UI is a plugin!
  21. 21. Mono on Android
  22. 22. How to develop  Be proactive!  Don’t trust - test  Don’t hope - deploy and test  Be ready for Objective-C and Java
  23. 23. Other  Play script  XNA and Mono Game  Win Forms on nokia N900  mono on Raspberry Pi
  24. 24. References  http://www.mono-project.com  Miguel de Icaza presentation on PDC 2008  Personal blog of Miguel de Icaza  monodroid  habrhabr.ru
  25. 25. Questions ?
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×