WisdomSoft - for your serial experiences.

MonoDevelop

.NET Framework の仕様はオープンであり国際標準化されています。Mono はオープンソースで開発が進められている .NET Framework 互換環境です。

Microsoft 以外の実装

.NET Framework や C# など .NET Framework 上で動作するアプリケーション開発用プログラミング言語は Microsoft が独占する技術ではありません。その仕様は全て公開されており、国際標準にもなっています。従って、仕様に基づいて Microsoft 以外の開発者が独自の .NET Framework 互換プラットフォームを実装することができます。

Microsoft は公式に C# 言語(C# Language Specification - Ecma-334, 4th Edition and ISO/IEC 23270:2006)と .NET Framework の根幹となる標準言語ランタイムの仕様である標準言語基盤(Common Language Infrastructure (CLI) - Ecma-335, 4th Edition and ISO/IEC 23271:2006)について Microsoft Community Promise の対象としています。

Microsoft Community Promise とは Microsoft が公開している仕様の要求を満たしている実装に対して特許を主張しないことを約束するものです。これによって、第三者は Microsoft から特許の問題で訴訟されるリスクを回避できます。

Mono プラットフォーム

Microsoft .NET Framework 以外で、標準仕様に基づいた .NET Framework 互換の代表的な実装は Mono プロジェクトです。.NET Framework の初期のころから互換環境として開発が続けられ、現状では Linux など非 Windows 環境で動作する唯一の実用的でオープンな .NET Framework 互換プラットフォームです。

http://www.mono-project.com/Main_Page

Mono には .NET Framework と同様に仮想マシンや C# コンパイラなどが含まれています。Linux にインストールした場合は /usr/bin/ ディレクトリ内に関連するコマンドがインストールされます。

これに加えて Mono プラットフォームのための統合開発環境として MonoDevelop が提供されています。Ubuntu を使っている場合、Ubuntu Software Center からインストールできます。

http://monodevelop.com/

図1 Ubuntu Software Center からインストール
Ubuntu Suftware Center

MonoDevelop は Microsoft における Visual Studio に相当するもので、コードの入力支援やプロジェクト管理まで、幅広く開発をサポートしてくれます。非 Windows 環境での .NET Framework 開発や、運用ポリシーや金銭的理由などから Visual Studio が使えない環境などで利用を検討できます。もちろん Windows にもインストールできます。 

図2 MonoDevelop
MonoDevelop

そのほか Mono をベースとしたエンジンやプラットフォームも増え始め、それらの開発ツールとしても MonoDevelop あるいはその改良版が使われています。

例えばクロスプラットフォームのゲームエンジン Unity は Mono をベースに作られており .NET Frawemork が Windows 以外の多様な環境で実用的なプラットフォームであることを見事に証明しています。この Unity に含まれている標準の統合開発環境にも MonoDevolop が採用されています。

また 2011 年に SCE から PS Vita と同時期に発表されたクロスプラットフォームのゲーム実行環境 PlayStation Suite も Mono をベースとした Unity とほぼ同じアーキテクチャを採用しており、その開発には MonoDevelop をベースとした PlayStation Suite Studio が採用されています。