Monomeeting 20081022

Embed Size (px)

Citation preview

Mono 2.0

Mono meeting 2008-10-22(Wed.)

What is .NET? what is Mono?

.NET: WindowsMicrosoftECMA, ISO

MicrosoftWindows

Mono: .NETGNU/LinuxGNU/Linux.NET

.NETGNU/Linux = Windows

.NETMono

.NET outside Windows

*nix: GNU/Linux, Solaris, BSD (6)GNOME/Gtk+ - MonoXimian

KDE/Qt GNOMEqyoto

Mac OS XCocoa, Objective-C

arch: i386,x86-64,PPC,
SPARC,ARM,S390,MIPSUnity3D: Wii,
PS3?, XBOX 360?, iPhone

.NET apps on Mono

ASP.NET: MS starter kits

WinForms: paint-mono (paint.net)

Novell2000 / 4600

10006

OpenSUSE build serviceMono:Community

MoMA (mono migration analyzer)

paint-mono / MonoForum

Mono apps

Gtk# : GNOMEGUIGtk+P/Invoke.NETBanshee music player

F-Spot photo management tool

Beagle desktop search

GNOME Do

Moonlight : silverlight on GNU/Linux2.0mono

something

Mono behind ...

SourceGear Vault

Mainsoft Grasshopper

Unity3D

SecondLife

POP

Use Mono 2.0

install Mono 2.0

packages - mono-completeSUSE - OpenSUSE10.2, SLES-9

MAC OS X, Windows -

10/21 - Solaris, distroUbuntu 8.10

package

OpenSUSEinstalled imagesVMWare

LiveCD

build Mono 2.0

sources: configure; make; make installmono (deps: glib-devel, zlib-devel, bison, xorg-x11)

mono-basic (VB)

winforms supportlibgdiplus (System.Drawing)

gluezilla (WebBrowser. deps: {mozilla}-devel)

ASP.NET supportxsp (ASP.NET server)

mod_mono (Apache module for xsp)

mono-tools ()

debugger

build MonoDevelop 2.0 alpha

1.02.0alpha

depsgtk-sharp, gnome-sharp, gtkmozembed-sharp, gtksourceview2-sharp, mono-addins

-devel

configure -

make; make install

use Mono 2.0

gmcs MyApp.cs-pkg:dotnet

csc MyApp.cs

mdtool build ()MonoDevelop tool

MSBuild

mono MyApp.exejava MyApp.class

mdb MyApp.exegdb MyApp

xsp2 (web server)

ilasm2, xsd, wsdl2,

gacutil2

monodevelop

MonoDevelop

debugging with Mono 2.0

Console.WriteLine() !

mono (runtime): --debug, --trace, --profile

mdb: Mono debuggergdb

MonoDevelop 2.0IDE

gendarmeFxCop

heap-shot :

port Apps to Mono

porting blockers

/ (MoMA it!)

P/InvokeWindowsdll

ANSI

SQL Server

private: serialization/remoting

Windows*nixMONO_IOMAP={drive|case|all}

bugs!

MoMA

not supported

WindowsCOM (System.EnterpriseServices)XPCOM, ICEWin32

MSMQ (System.Messaging) experimental binding to RabbitMQ

WMI (System.Management)

ACL (System.Security.AccessControl)POSIX ACL

not supported

generational GCGC

sgen-gc : mono

CAS ()CAS

NRobot

ClickOnce (System.Deployment)

not supported

.NET 3.0WPF : WPF/E

WF :

WCF : BasicHttpBinding, WebHttpBinding

Moonlight 2.0mono

.NET and Mono internals

CLI

IL(Intermediate Language)

JITILCPU

AppDomain

CLR / Mono runtime

.NET: CLR.exemscoree.dllMain()

mono (runtime) - Cwritten in C. Unix, glib

mono Foo.exebinfmt

:io-layer (Win32 I/O API), GC, API (icall, , side by side),
mini JIT, (CAS, coreclr)

/

.NET FrameworkC#, VB.NET, C++/CLI, JScript.NET, ilasm

(Reflection.Emit / CodeDom)

Monogmcs (C# 3), vbnc (VB 8), mjs (JS.NET), ilasm2

C++/CLIGCC-CIL

: MonoIronPython, Nemerle, Boo, F#

.NET (mscorlib/System/System.Xml)ECMA/ISO

DB (ADO.NET) , Web (ASP.NET), GUI (Windows.Forms, WPF), Workflow

Mono : C#P/Invoke

MethodImplOptions.InternalCall

ADO.NETSqlClientMono.Data.Tds (TDS

Odbc : unixodbc

OleDb : libgda

.NETMonoODP.NETOCIdllP/Invoke

ASP.NETSystem.Web.dllC#

xsp2 : HttpWorkerRequest(C#)Mono.WebServer (xsp)

Mono.WebServer.ModMonomod_mono (C)

Mono.WebServer.FastCgi

Windows FormsSystem.Drawing.dll - [DllImport (gdiplus)]libgdiplus : WindowsC/cairo

System.Windows.Forms.dll - XplatUIXplatUIWin32 : Win32 API

XplatUIX11 : X11 APIXplatUIGtk

Mono 1.2 Mono 2.0

XplatUICarbon : OS X Carbon API

Visual Studio .NET

winforms GUI

ASP.NET

GUI

API

MonoDevelop 1.0

ASP.NET

Gtk# GUI

API (Mono.Addins)

MonoDevelop 2.0a

ASP.NET

Mono History

timeline

2000/09: .NET 1.0 beta12001/06: 1.0 beta22002/01: 1.0 / VS.NET2003/04: 1.1 / VS.NET 20032003/11: 1.2 (2.0)2005/11: 2.0 / VS 20052006/11: 3.0 WinFX2007/04: Silverlight 1.0 beta2007/11: 3.5 / VS 20082008/08: 3.5 SP1

2001/04 mcs2001/07 Mono project launched2002/12 first Tokyo meeting [en]2003/08 NovellXimian2004/06 Mono 1.02006/04 first Tokyo meeting [jp]2006/11 Mono 1.22007/06 Moonlight launched2008/03 MonoDevelop 1.02008/10 Mono 2.0 !

2.0 updates since 1.2

C# 2.0 3.0

VB 7 8

Windows Forms 1.1 2.0

ADO.NET, ASP.NET: 1.1 2.0

ASP.NET AJAX

Linq to Objects | XML | DataSet

ASP.NET3

Future versions

Mono 2.2: 11JIT: Linear IR,

full AOT

MoMA Web tool

ADO.NET: TDS8

C#C# evaluator API

ASP.NET Abstractions/Routing ()

Future versions

Mono 2.4: 2009/Q1IL verifier

ASP.NET 3.5 updates

Winforms OS X updates

MonoDevelop 2.0

Linq to SQL

MSBuild alpha

Mono 2.6: 2009/Q2moonlight 2.0 preview

Visual Studio plugin

Mono 2.8: 2009/Q3moonlight 2.0 beta

MonoDevelop 2.4

compacting GC

contact:[email protected]://d.hatena.ne.jp/atsushienohttp://twitter.com/atsushieno