<Session>
魅せます、 Mono の実力。 Atsushi Enomoto Novell, Inc.
はじめに About this session first public mono/moonlight session at Microsoft the best of PDC2008 About me mono 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 Windows x86 Linux etc. x86,ppc,arm ... Mac x86,ppc .NET Silverlight Mono Moonlight
Mono: Introduction
Miguel de Icaza: GNOMEプロジェクト創始者  ※ Ximian
でもMicrosoft技術が大好き COM -> “Unixをもう少しマシなものにしよう”
.NET -> “ECMA標準の利用” (@MSDN) Mono rationale: .NETの生産性をLinux/GNOME環境で実現
.NETアプリケーションをcross platformに
オープンソース.NET環境の実現 2001: the bootstrap
Mono: .NET everywhere できること .NETアプリケーションのビルドと実行 everywhere! 再ビルドは 原則 不要 主な開発内容 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で記述
ILにコンパイルしてmonoで実行 Unity (Unity3D) Mac OS X上で動作する統合ゲーム開発実行環境
Nintendo WiiやiPhoneでも実行可能 ※ Mono on Wii, Mono on iPhone FusionFall (Cartoon Network)
Mono for .NET Interoperability
Demo Windows Forms on Linux [ paint-mono ]
ASP.NET on Linux
.NET coverage Mono 2.0/2.2 ≒ .NET 2.0 + .NET 3.5の一部 C# 3 コア ライブラリ ADO.NET ASP.NET Winforms WPF workflow WCF C# 2 / generics Mono 2.0 Mono 1.2 Mono 1.0 ECMA CLI
Mono does not support ... .NET 3.0: 未実装
Windows依存: COM, MSMQ, WMI, ACL etc.
一部のランタイム機能 世代別GC
コード アクセス セキュリティ ※ClickOnce
クラスライブラリの互換性 互換性の実現と現状の把握 未実装のAPI MonoTODOAttribute
throw new NotImplementedException(); アセンブリから公開APIを取得して比較 API status page (http://go-mono.com/status) テストケースの作成と.NET上での動作確認 …といっても、目で確認してはいられない
MoMA MoMA ( Mo no  M igration  A nalyzer) ユーザ アプリケーションから、未実装のAPIや存在しないAPI、P/Invokeの利用をチェック

Mono at Microsoft Tech Days Japan 2009