If you can't read please download the document
Upload
atsushi-eno
View
1.925
Download
3
Embed Size (px)
Citation preview
Mono
Atsushi EnomotoNovell, Inc.
atokbanshee. SL,unitysshots, simdtext
paintdotnet, MoMA, gsharp, remixtokyo, rubyclockusing System.IO;from f in Directory.GetFiles ("/etc") where f.EndsWith ("rc") select f;gsharp with Bansheeusing Banshee.ServiceStack;using Banshee.Sources;Describe (typeof (SourceManager));var engine = ServiceManager.PlayerEngine;engine;Describe (engine);engine.IsPlaying ();engine.Pause();engine.CurrentTrack;Describe (engine.CurrentTrack);engine.Play();
About this sessionfirst public mono/moonlight sessionat Microsoft
the best of PDC2008
About memono contributor since 0.17 (2002)
sys.xml, and random stuff
Topics
Mono introduction
Mono and .NET interop
PDC 2008 Mono session highlights
Moonlight
Mono - .NET everywhere
Moonlight - silverlight on Linux (so far)
The Mono Project
Windowsx86Linux etc.x86,ppc,arm ...Macx86,ppc.NETSilverlightMonoMoonlight
Mono:Introduction
Miguel de Icaza:GNOMEXimian
MicrosoftCOM Unix
.NET ECMA (@MSDN)
Mono rationale:.NETLinux/GNOME
.NETcross platform
.NET
2001: the bootstrap
Mono: .NET everywhere
.NETeverywhere!
mono: CLI (VES)
mcs: C# ,
xsp: ASP.NET
$ mono [options] xsp2.exe [options]
Mono: GNOME dev. platform
GNOME
GTK#: C# binding for gtk+
GTK#:banshee, f-spot, beagle, tomboy, gnome do ...MonoDevelop IDE Gtk# GUI
Mono in games
Second Life (Linden Lab) - Linden script
ILmono
Unity (Unity3D)Mac OS X
Nintendo WiiiPhone Mono on Wii, Mono on iPhone
FusionFall (Cartoon Network)
Mono
for .NETInteroperability
Demo
Windows Forms on Linux [paint-mono]
ASP.NET on Linux
C# 3.NET coverage
Mono 2.0/2.2 .NET 2.0 + .NET 3.5
ADO.NETASP.NETWinformsWPFworkflowWCF
C# 2 / genericsMono 2.0Mono 1.2Mono 1.0ECMA CLI.NET 1.x.NET 2.0.NET 3.0.NET 3.5 / SP1
Mono does not support ...
.NET 3.0:
Windows: COM, MSMQ, WMI, ACL etc.
GC
ClickOnce
APIMonoTODOAttribute
throw new NotImplementedException();
APIAPI status page (http://go-mono.com/status)
.NET
MoMA
MoMA (Mono Migration Analyzer) APIAPIP/Invoke
DEMO
MoMA
MoMA (Mono Migration Analyzer) APIAPIP/Invoke
DEMO
Mono
more porting blockers
Mono.NET
slash/backslash
MONO_IOMAP
(ASP.NET) web.config, gmcs -codepage:932
more porting blockers
private
P/Invoke[DllImport (user32.dll)]
ANSI (monoutf-8)
FooBarW() / in *.config / pray
and bugs (please report!)
Mono: .NET everywhere, rich GNOME, embedded
Mono 2.0 .NET 2.0 + .NET 3.5
no .NET 3.0, no Windows-ism
MoMANG
The Root of MonoFramework
Mono Runtime (VES)
written in C (API)
VES
GACside-by-side
P/Invoke (*.so on Linux, *.dylib on OS X)
() ()coreclr
IL verifier (Mono 2.4)
Win32 I/O
: native code interop
C#P/Invoke - [DllImport (gdiplus)]
static extern Status GdipCreateLineBrushI(...);
icall - [MethodImpl (MethodImplOptions.InternalCall)]
static extern bool CreateDirectory(...);
Win32 I/Oves_icall_System_IO_MonoIO_CreateDirectory(...);
Sys.Drawing, Windows.Formslibgdiplus
:
[deprecated], JIT (Just In Time),
AOT (Ahead Of Time), full AOT (2.2)
full AOT
IL
interpVES
JIT
AOTJIT
full AOT
Build your own runtime
mkbundle
mono linkerIL
.NET CF
linker + mkbundle: minimal deployment
mscorlibConsoleHello.exe
Hello.exemscorlib
Mono 2.2 highlight: Mono.Simd
SIMD:
Mono.Simd.dllmanaged codeSIMD
C#/IL/
JITsimdMono.SimdSIMD
mono --optimize=[simd|-simd] -v -v -v -v test.exe
mcs: Mono C# Compiler
C#C#.NET
Mono 2.0(2008/10)C# 3.0
Mono.CSharp.dll: C# EvaluatorC# 5.0 - compiler as a service (API)
mcs net1_1.cs
gmcs net_2_0_or_3_5.cs
smcs net_2_1.cs (silverlight)
Demo: gsharp
Mono.AttachMonoinjectAPI
gsharp: C# shell with VM attach API
mono:
Mono.Simd: JITC# Evaluatorgsharp
Moonlight
Moonlight brief history
2007/5: MS, Mix '07SilverlightMiguel
2007/6: ReMix '07 France
2007/9: MS/Novelltest cases / media codec
2008/3: Moonlight at Mix '08 ( John Lam )
2009/1: Moonlight 1.0
Moonlight technology layers
OSlibmoon (C++)mediacodecmozillaplugin (C++)silverlight.js[1.0]
MonoMSUserUser contents (HTML, JavaScript)
XAP packageCoreCLRMoonlight technology layers
libmoon (C++)mono runtime (VES)mscorlib.dll,System.dll,System.*.dllSystem.Windows.dllSystem.Windows.Browser.dllSilverlight Controls (dll)DO/DP
mediacodecDLRDLRmozillaplugin (C++)silverlight.jsSDKDLLsUser contents (HTML, JavaScript)[2.0]
MonoMSUserOSAppDLLs
Microsoft helps Moonlight
DLR (, IronPython, IronRuby): MS-PL
Silverlight Controls: MS-PL
testcases
media codec
Try Moonlight 1.0
2009/1/20
Silverlight 1.0
SL 1.0 (see mono website)
Moonlight 2.0 work (ongoing)
Silverlight 2.0 - managed codeMoonlight2.0
CoreCLR: IL verifier, CoreCLR mono
- linker, tunerAPIMono.Cecil: CIL
full CLRDLL
internal
Demo
Moonlight 1.0
Moonlight 2.0
Mono resources:website: http://mono-project.com
blogs: http://go-mono.com/monologue
Contact:[email protected]
searchatsushieno
mono meeting
Click to edit the title text format