この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方)
出典検索?: "Mono" ソフトウェア
Mono開発元.NET Foundation
最新版6.12.0.122 - 2021年2月23日 (2年前) (2021-02-23)[1] [±]
リポジトリ
github.com/mono/mono
対応OSクロスプラットフォーム
種別プラットフォーム
ライセンスGPL, LGPL, MIT(デュアル)
公式サイトwww.mono-project.com
テンプレートを表示
Mono(モノ)は、GNOMEプロジェクト創設者のミゲル・デ・イカザが開発した、Ecma標準に準じた.NET Framework互換の環境を実現するためのオープンソースのソフトウェア群、またそのプロジェクト名である。
2018年3月現在、マイクロソフトの子会社であるXamarinと.NET Foundationが開発、販売、サポート業務を行っている。
共通言語基盤 (CLI) の実装やC#のコンパイラなどが含まれる。 Monoはマルチプラットフォームであり、Linux、macOS、iOS、tvOS、watchOS、Android、Solaris、IBM AIX/IBM i、BSD (OpenBSD, FreeBSD, NetBSD)、Windows、PlayStation 4、Xbox One、Xbox Series X/Sで動作する[2][3]。 特定プラットフォーム向けに特化したサブプロジェクトも存在する。Xamarin.iOS(旧称: MonoTouch、2013年に改称)は、iPhoneやiPad、iPod touchといったiOS固有のAPIやGUIツールキットを.NET向けにラップするコンポーネントである。また、MonoTouchの技術を応用し、Mac OS Xへのネイティブ対応を行うMonoMacプロジェクトも2010年に発表された(のちにXamarin.Macに改称された)。同様に、AndroidについてはXamarin.Androidが存在する。 マイクロソフトはFreeBSD、Windows、Mac OS Xで動作するシェアードソースCLIというCLIの実装を公開したが、マイクロソフトのシェアードソースライセンスは商用利用が禁止されているなど、コミュニティにとって十分とはいえない。MonoプロジェクトはPortable.NET
動作プラットフォーム
プロジェクトの目標
@media screen{.mw-parser-output .fix-domain{border-bottom:dashed 1px}}Monoプロジェクトの公式発表ではないが、その主導者であるミゲル・デ・イカザの言葉として、「Cでプログラミングするには人生は短すぎる」という標語が掲げられている。[要出典] Monoランタイムは多くのプロセッサで動作するJITコンパイラを搭載している。JITコンパイラはアプリケーションの実行中に共通中間言語 (CIL) コードをネイティブコードに変換し、それらをキャッシュする。実行前にネイティブコードに変換し、キャッシュしておくことも可能である。JITコンパイラが対応するプロセッサはx86、x86-64、IA-64、SPARC、PowerPC、ARM、S/390(32ビットおよび64ビット)、MIPSである[2]。それ以外のシステムでは、ネイティブコードに変換するのではなくインタプリタによって逐次バイトコードが実行される。ほとんどの状況で、JITコンパイラによる方法はインタプリタよりもパフォーマンスの点で勝っている。 また、SIMDへの独自対応 (Mono.Simd) など、Mono独自の革新的な機能の取り込みも積極的に行われている。マイクロソフト純正の.NET Frameworkでは、Monoを後追いする形で、バージョン4.6にてSIMDサポートが追加された[9]。 2000年12月に.NETドキュメントが公開されると、Monoプロジェクトの創始者であるミゲル・デ・イカザは.NET技術に興味を魅かれた。バイトコードインタプリタを調べてみると、彼はメタデータに関する仕様が存在しないことに気がついた。2001年2月、彼は.NETメーリングリストにおいて不足している情報を公開するよう求め、同時にC#の習得のため、C#で書かれたC#コンパイラの開発に着手した。2001年4月、Ecma Internationalは不足していたファイル形式を公開し、デ・イカザはGUADEC(2001年4月6日-8日)において彼の開発したコンパイラのデモンストレーションを行った(それは自分自身の解析が可能であった)。 Ximian(ノベルに買収される前のMonoの開発会社)では、生産性を向上するためのツールを開発するための会議が内部的に行われていた。実現可能性の調査の結果、そのような技術は構築可能であるという結論に至り、Ximianは他のプロジェクトからスタッフを集め、Monoチームを結成した。しかしXimian内部だけで.NETと同等のものを作るには人材が不足していたため、Monoをオープンソースプロジェクトとした。これは2001年7月19日、オライリーカンファレンスによって発表された。 3年近く経った2004年6月30日、Mono 1.0がリリースされた。
Monoランタイム
歴史
2009年12月15日、Mono 2.6がリリースされた。