Mono
-
Upload
yan-drugalya -
Category
Technology
-
view
2.926 -
download
8
description
Transcript of Mono
Prepared By Yan [email protected]
Prepared By Yan [email protected]
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
Core: Compiler, VM
Linux stack Gtk#, Mono.Posix,
DB…
Microsoft Stack ADO, ASP, Web Forms…
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
Low Level
Game engine
Low Level
Game AI
Scripts
Demo
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
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 ?