WinFormsのサンプル
それでは、.NETアプリケーションを動かしてみましょう。まずは、デスクトップの「Mono Winforms Applications」フォルダを開きます。このフォルダには多数のWinFormsのサンプルが用意されています。
この中のGATetrisをダブルクリックしてみます。
WinFormsで実装されたゲームが、Linuxで動くことが確認できます。
動作の仕組み
GATetrisの本体は「/usr/bin/GATetris」というスクリプトです。スクリプトには「exec mono --debug /usr/lib/GATetris/GATetris.exe」という命令が記述されています。これはmonoコマンドでGATetris.exeを呼び出しています。つまり、monoコマンドを使うことで.NETのアセンブリ(*.exe)を実行することができます。
Gtk#アプリケーション
先ほどと同様に「Gtk# Applications」フォルダを開いて、Bansheeをダブルクリックしてみましょう。
こちらは、WinFormsではなくGTK#アプリケーション(/usr/lib/banshee-1/Banshee.exe)です。GTK#を利用すると、GNOMEアプリケーションを開発できます。
統合開発環境MonoDevelop
次は、ソースコードをビルドしてみましょう。WinFormsのサンプルソースは「/home/rupert/src」にあります。例えば「FlickrStreamer.sln」というソリューションをダブルクリックするとMonoDevelopという統合開発環境が立ち上がってきます。
MonoDevelopはVisual StudioやSharpDevelopと同様に、コードアシスト機能を利用してプログラムを書くことができます。またデバッグ実行もできます。
MonoDevelopはC#以外の言語もサポートしています。ソリューションを作成する場合には「Boo、C、C#、ILAsm、java、MonoDevelop、NUnit、VBNet、Vala、パッケージ」といったテンプレートが用意されています。