Mono
-
Upload
yan-drugalya -
Category
Technology
-
view
2.926 -
download
8
description
Transcript of Mono
![Page 1: Mono](https://reader033.fdocuments.net/reader033/viewer/2022061218/54b612f94a79599c038b45dc/html5/thumbnails/1.jpg)
Prepared By Yan [email protected]
![Page 2: Mono](https://reader033.fdocuments.net/reader033/viewer/2022061218/54b612f94a79599c038b45dc/html5/thumbnails/2.jpg)
Prepared By Yan [email protected]
![Page 3: Mono](https://reader033.fdocuments.net/reader033/viewer/2022061218/54b612f94a79599c038b45dc/html5/thumbnails/3.jpg)
Agenda
Goals
History
Products
Architecture
Features
Demoes
![Page 4: Mono](https://reader033.fdocuments.net/reader033/viewer/2022061218/54b612f94a79599c038b45dc/html5/thumbnails/4.jpg)
What is mono
Mono is: ECMA compliant implementation of .NET framework
.NET compatible set of tools
CLR
Compiler
xbuild.
![Page 5: Mono](https://reader033.fdocuments.net/reader033/viewer/2022061218/54b612f94a79599c038b45dc/html5/thumbnails/5.jpg)
![Page 6: Mono](https://reader033.fdocuments.net/reader033/viewer/2022061218/54b612f94a79599c038b45dc/html5/thumbnails/6.jpg)
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
![Page 7: Mono](https://reader033.fdocuments.net/reader033/viewer/2022061218/54b612f94a79599c038b45dc/html5/thumbnails/7.jpg)
![Page 8: Mono](https://reader033.fdocuments.net/reader033/viewer/2022061218/54b612f94a79599c038b45dc/html5/thumbnails/8.jpg)
Products
![Page 9: Mono](https://reader033.fdocuments.net/reader033/viewer/2022061218/54b612f94a79599c038b45dc/html5/thumbnails/9.jpg)
Products
![Page 10: Mono](https://reader033.fdocuments.net/reader033/viewer/2022061218/54b612f94a79599c038b45dc/html5/thumbnails/10.jpg)
![Page 11: Mono](https://reader033.fdocuments.net/reader033/viewer/2022061218/54b612f94a79599c038b45dc/html5/thumbnails/11.jpg)
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)
![Page 12: Mono](https://reader033.fdocuments.net/reader033/viewer/2022061218/54b612f94a79599c038b45dc/html5/thumbnails/12.jpg)
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
![Page 13: Mono](https://reader033.fdocuments.net/reader033/viewer/2022061218/54b612f94a79599c038b45dc/html5/thumbnails/13.jpg)
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
![Page 14: Mono](https://reader033.fdocuments.net/reader033/viewer/2022061218/54b612f94a79599c038b45dc/html5/thumbnails/14.jpg)
Components
Core: Compiler, VM
Linux stack Gtk#, Mono.Posix,
DB…
Microsoft Stack ADO, ASP, Web Forms…
![Page 15: Mono](https://reader033.fdocuments.net/reader033/viewer/2022061218/54b612f94a79599c038b45dc/html5/thumbnails/15.jpg)
Modularity
Mono And .NET Miguel de Icaza PDC 2008
![Page 16: Mono](https://reader033.fdocuments.net/reader033/viewer/2022061218/54b612f94a79599c038b45dc/html5/thumbnails/16.jpg)
AOT/Static compilation
Mono And .NET Miguel de Icaza PDC 2008
![Page 17: Mono](https://reader033.fdocuments.net/reader033/viewer/2022061218/54b612f94a79599c038b45dc/html5/thumbnails/17.jpg)
Features
Compiler as a library
Mono linker (Re-shaping assemblies)
Injecting Code Into the live process
…
![Page 18: Mono](https://reader033.fdocuments.net/reader033/viewer/2022061218/54b612f94a79599c038b45dc/html5/thumbnails/18.jpg)
Demo
![Page 19: Mono](https://reader033.fdocuments.net/reader033/viewer/2022061218/54b612f94a79599c038b45dc/html5/thumbnails/19.jpg)
Games
Graphics Engine
Low Level
Game engine
Low Level
Game AI
Scripts
![Page 20: Mono](https://reader033.fdocuments.net/reader033/viewer/2022061218/54b612f94a79599c038b45dc/html5/thumbnails/20.jpg)
Demo
![Page 21: Mono](https://reader033.fdocuments.net/reader033/viewer/2022061218/54b612f94a79599c038b45dc/html5/thumbnails/21.jpg)
Games: Mono.SIMD
• pos += deltaC#• call [Mono.Simd]Mono.Simd.Vector4f::op_Addition(
valuetype [Mono.Simd]Mono.Simd.Vector4f,
valuetype [Mono.Simd]Mono.Simd.Vector4f)IL
• movups (%eax),%xmm0• movups (%edi),%xmm1• addps %xmm1,%xmm0• movups %xmm0,(%eax)x86
![Page 22: Mono](https://reader033.fdocuments.net/reader033/viewer/2022061218/54b612f94a79599c038b45dc/html5/thumbnails/22.jpg)
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
![Page 23: Mono](https://reader033.fdocuments.net/reader033/viewer/2022061218/54b612f94a79599c038b45dc/html5/thumbnails/23.jpg)
UI Write once, run ugly anywhere (WORA)
It is not about mono approach
UI is a plugin!
![Page 24: Mono](https://reader033.fdocuments.net/reader033/viewer/2022061218/54b612f94a79599c038b45dc/html5/thumbnails/24.jpg)
![Page 25: Mono](https://reader033.fdocuments.net/reader033/viewer/2022061218/54b612f94a79599c038b45dc/html5/thumbnails/25.jpg)
Mono on Android
![Page 26: Mono](https://reader033.fdocuments.net/reader033/viewer/2022061218/54b612f94a79599c038b45dc/html5/thumbnails/26.jpg)
How to develop
Be proactive!
Don’t trust - test
Don’t hope - deploy and test
Be ready for Objective-C and Java
![Page 27: Mono](https://reader033.fdocuments.net/reader033/viewer/2022061218/54b612f94a79599c038b45dc/html5/thumbnails/27.jpg)
Other
Play script
XNA and Mono Game
Win Forms on nokia N900
mono on Raspberry Pi
![Page 28: Mono](https://reader033.fdocuments.net/reader033/viewer/2022061218/54b612f94a79599c038b45dc/html5/thumbnails/28.jpg)
References
http://www.mono-project.com
Miguel de Icaza presentation on PDC 2008
Personal blog of Miguel de Icaza
monodroid
habrhabr.ru
![Page 29: Mono](https://reader033.fdocuments.net/reader033/viewer/2022061218/54b612f94a79599c038b45dc/html5/thumbnails/29.jpg)
Questions ?