「Mono」基本情報
概要
Mono(モノ)とは、オープンソースの「.NET Framework」互換環境です。.NETクロスプラットフォームアプリケーションを開発できます。同様の開発環境「Xamarin」の基盤になっています。
基本説明
Monoは「.NET Framework」互換オープンソース開発プラットフォームです。.NETベースのクロスプラットフォームアプリケーションを構築できます。
Monoは、開発言語「C#」、および、共通言語インフラストラクチャ「ECMA標準」に基づくMicrosoft「.NET Framework」のオープンソース実装です。
経緯
Monoは、GNOMEプロジェクト創設者のミゲル・デ・イカザ氏が開発し、2004年6月、「Mono 1.0」がリリースされました。
Monoプロジェクトは、Xamarin社に移り、クロスプラットフォーム開発環境「Xamarin」の基盤になっています。
主な特徴
Mono構成コンポーネント①「C#コンパイラ」
Monoの「C#コンパイラ」は、ECMAに準拠しています。
Mono構成コンポーネント②「Mono Runtime」
「Mono Runtime」は「ECMA Common Language Infrastructure」を実装しています。
ランタイムは、「ジャストインタイムコンパイラ」「Ahead-of-Timeコンパイラ」「ライブラリローダ」「ガベージコレクタ」「スレッドシステム」「相互運用性機能」などを提供します。
Microsoft純正の「.NET Framework」ではサポートされていない独自の革新的な機能の取り込みも積極的に行われています。
Mono構成コンポーネント③「.NET Frameworkクラスライブラリ」
Monoプラットフォームは、アプリケーション構築用クラスセットを提供します。これらのクラスは、Microsoftの「.Net Framework」クラスと互換性があります。
Mono構成コンポーネント④「Mono Class Library」
Monoは、Microsoftが提供する「Base Class Library」を超えて、多くのクラスを提供しています。
「UNIX統合ライブラリ」「データベース接続ライブラリ」「セキュリティスタック」「LDAP」「OpenGL」などを提供しており、「.NET Framework」向けの巨大ライブラリプロジェクトとしての側面もあります。
マルチプラットフォーム対応
Monoを使用してアプリケーションを開発すると、PC/モバイル用OSからゲーム用OSまで、多くのプラットフォームに対応できます。
- Linux
- Mac OS X
- Microsoft Windows
- BSD
- Sun Solaris
- iOS
- Android
- Nintendo Wii
- Sony PlayStation 3
- Sony PlayStation 4 など
多言語対応
Monoでは、多くの開発用言語での開発が可能で、他の言語で書かれたコードと相互運用できます。
- C#
- F#
- VB.net
- Java
- Python
- Ruby など
同様製品
同様な機能を提供する製品として、次のようなものがあります。
オープンソース製品:「Xamarin」など。
オフィシャルサイト
オフィシャルサイト
→Mono(Cross platform, open source .NET framework)
ライセンス情報
Monoのライセンスは「複合ライセンス」です。
詳細について、こちらを参照ください。
→GitHub →mono →LICENSE
ダウンロード
参考元サイト
- Mono(Cross platform, open source .NET framework)
- Wikipedia →Mono (ソフトウェア)
- Build Insider →インサイドXamarin(2) →Xamarinの基盤となっている「Mono」と、C#コンパイラー「mcs」
- Hatena Blog →(-> % read write unlearn) →.NET とか Mono とか Xamarin とかいったい何? Microsoftのプロダクト?
- ASCII.jp×デジタル →.NET Core / .NET Framework / Xamarin / Monoの関係を整理する
※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。