WinFormsのサンプル

それでは、.NETアプリケーションを動かしてみましょう。まずは、デスクトップの「Mono Winforms Applications」フォルダを開きます。このフォルダには多数のWinFormsのサンプルが用意されています。

ファイルブラウザに表示されたWinFormsサンプル

この中のGATetrisをダブルクリックしてみます。

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をダブルクリックしてみましょう。

GTK#のメディアプレイヤー(Banshee)

こちらは、WinFormsではなくGTK#アプリケーション(/usr/lib/banshee-1/Banshee.exe)です。GTK#を利用すると、GNOMEアプリケーションを開発できます。

統合開発環境MonoDevelop

次は、ソースコードをビルドしてみましょう。WinFormsのサンプルソースは「/home/rupert/src」にあります。例えば「FlickrStreamer.sln」というソリューションをダブルクリックするとMonoDevelopという統合開発環境が立ち上がってきます。

統合開発環境「MonoDevelop2.0」

MonoDevelopはVisual StudioSharpDevelopと同様に、コードアシスト機能を利用してプログラムを書くことができます。またデバッグ実行もできます。

MonoDeveloopからデバッグ実行

MonoDevelopはC#以外の言語もサポートしています。ソリューションを作成する場合には「Boo、C、C#、ILAsm、java、MonoDevelop、NUnit、VBNet、Vala、パッケージ」といったテンプレートが用意されています。

新しいソリューションダイアログ