Monoアーキテクチャの図 | |
| 原作者 | ジミアン |
|---|---|
| 開発者 | ワインHQ |
| 初回リリース | 2004年6月30日 |
| 安定リリース | 6.12.0.206 / 2024年2月13日[1] |
| リポジトリ |
|
| 書かれた | C、C#、XML |
| オペレーティング·システム | Windows、macOS、Linux、IBM AIX、IBM i [2] |
| プラットフォーム | IA-32、x64、IA-64、ARM、MIPS、RISC-V、PowerPC、SPARC、S390 |
| タイプ | ソフトウェアフレームワーク |
| ライセンス | MITライセンス[3] |
| Webサイト | モノプロジェクト |
Monoは、 Linuxやその他のOS上で.NET Framework用に作られたソフトウェアを実行することを目的とした、無料のオープンソース ソフトウェアフレームワークです。元々はNovellに買収されたXimianによって開発され、後にMicrosoftに買収されたXamarinによって開発されました。[4] 2024年8月、MicrosoftはMonoの所有権をWineHQに譲渡しました。[5]
歴史

マイクロソフトが 2000 年 6 月に初めて.NET Framework を発表したとき、それは「インターネット標準に基づいた新しいプラットフォーム」と説明されました。[6]そしてその年の 12 月には、基礎となる共通言語インフラストラクチャがオープン標準「ECMA-335」として公開され、[7]独立した実装の可能性が開かれました。[8] XimianのMiguel de Icaza は、.NET がプログラマーの生産性を向上させる可能性があると考え、Linux バージョンが実現可能かどうかの調査を開始しました。[9]彼らは、自分たちの小さなチームでは完全な製品の構築とサポートは期待できないことを認識し、2001 年 7 月 19 日のO'Reillyカンファレンスで Mono オープンソース プロジェクトを立ち上げました。
3年間の開発期間を経て、Mono 1.0は2004年6月30日にリリースされました。[10] Monoは、当初のLinuxデスクトップアプリケーションの開発プラットフォームに重点を置いたものから、組み込みシステムを含む幅広いアーキテクチャとオペレーティングシステムをサポートするものへと進化しました。[11]
Novellは2003年にXimianを買収した。2011年4月にAttachmateがNovellを買収した後、AttachmateはNovellの従業員数百人の人員削減を発表し[12] 、 Monoの将来に疑問を投げかけた。[13] [14]
2011年5月16日、ミゲル・デ・イカザは自身のブログで、Monoは引き続きXamarinによってサポートされると発表しました。同社は彼がノベルを解雇された後に設立した会社です。元のMonoチームも新会社に移っていました。XamarinはMonoの開発を継続し、iOSとAndroid用の独自の.NETスタックを一から書き直すことを計画していました。当時、MonoTouchとMono for Androidはノベルがまだ所有していたためです。[15]この発表の後、プロジェクトの将来が疑問視されました。MonoTouchとMono for Androidは現在Attachmateが所有する既存の商用製品と直接競合しており、Xamarinチームがノベルに雇用されていたときに同じ仕事で開発した技術を使用していないことを証明するのは困難であろうと考えられたためです。[16]しかし、2011年7月、現在はAttachmateの子会社であるNovellとXamarinは、XamarinにMono、MonoTouch、Mono for Androidの永久ライセンスを付与し、正式にプロジェクトの管理を引き継いだと発表しました。[17] [18]
2016年2月24日、マイクロソフトはXamarinを買収する正式契約を締結したと発表した。[19]
2024年8月27日、マイクロソフトはMonoの所有権をWindows互換レイヤーであるWineの開発チームであるWineHQに譲渡した。 [5]
現在の状況とロードマップ
Monoの現在のバージョンは6.12.0です(2024年6月現在)。このバージョンでは、 .NET Frameworkの[update]コアAPIとVisual Basic.NETおよびC# 7.0のサポートが提供されます。LINQ to Objects、XML、およびSQLはディストリビューションの一部です。Windows Forms 2.0もサポートされていますが、積極的に開発されていないため、Monoでのサポートは不完全です。[20]バージョン4.0は、Microsoftが.NET Coreプロジェクトの一部としてリリースしたMicrosoftのオリジナルソースコードを組み込んだ最初のバージョンでした。
2021年1月14日現在、MonoはWindows Presentation Foundation (WPF) (Monoチームは作業量が多いためサポートする予定はありません) [20]とWindows Workflow Foundation (WF) を除く.NET 4.7のすべての機能を完全にサポートしており、 Windows Communication Foundation (WCF) とASP.NET非同期スタックについては限定的なサポートのみとなっています。ただし、System.WebとWCFは、.NET参照ソースからMonoに「ほぼ即時に」移植できる候補です。[21] .NET Frameworkの不足している部分の一部は、実験的なMonoサブプロジェクトOliveで開発中です。[22]
Mono プロジェクトでは、Visual Basic .NETコンパイラと、VB.NET アプリケーションを実行するために設計されたランタイムも作成されています。現在、Rolf Bjarne Kvinge によって開発されています。
月光
Microsoft Silverlightのオープンソース実装であるMoonlightは、Mono 1.9 以降に含まれています。[23] Silverlight 1.0 API をサポートする Moonlight 1.0 は、2009 年 1 月 20 日にリリースされました。Moonlight 2.0 は、Silverlight 2.0 と Silverlight 3.0 の一部の機能をサポートしています。[24] Moonlight 3.0 のプレビューリリースは 2010 年 2 月に発表され、Silverlight 3 サポートのアップデートが含まれています。[25]
ムーンライトプロジェクトは2012年5月29日に中止された。[26]ミゲルによると、プロジェクトの運命を決定づけた要因は2つある。マイクロソフトが「デスクトッププログラミングには役に立たない」ような「人為的な制限」を加えたことと、この技術がWeb上で十分な支持を得ていなかったことである。さらに、Silverlight自体は2012年までにマイクロソフトによって非推奨とされた。
モノコンポーネント
Mono は 3 つのコンポーネント グループで構成されています。
- コアコンポーネント
- Mono/Linux/GNOME 開発スタック
- Microsoft 互換性スタック
コアコンポーネントには、C#コンパイラ、共通言語インフラストラクチャの仮想マシン、コアクラスライブラリが含まれます。これらのコンポーネントは、Ecma-334およびEcma-335標準に基づいており、[27] Monoは標準に準拠した無料のオープンソースCLI仮想マシンを提供できます。Microsoftは、コミュニティプロミスライセンスの下で両方の標準をカバーする声明を発表しました。[28]
Mono /Linux/GNOME開発スタックは、既存のGNOMEやフリーでオープンソースのライブラリを使用しながらアプリケーション開発を行うためのツールを提供します。これらには、グラフィカルユーザーインターフェース(GUI)開発用のGtk# 、 Geckoレンダリングエンジンを操作するためのMozillaライブラリ、Unix統合ライブラリ(Mono.Posix)、データベース接続ライブラリ、セキュリティスタック、XMLスキーマ言語RelaxNGが含まれます。Gtk#を使用すると、MonoアプリケーションをネイティブアプリケーションとしてGnomeデスクトップに統合できます。データベースライブラリは、オブジェクトリレーショナルデータベースdb4o、Firebird、Microsoft SQL Server(MSSQL)、MySQL、Open Database Connectivity(ODBC)、Oracle、PostgreSQL、SQLiteなどへの接続を提供します。Monoプロジェクトは、Webサイトでデータベースコンポーネントの開発を追跡しています。[29]
Microsoft互換性スタックは、 Windows .NET アプリケーションをLinuxに移植するための手段を提供します。このコンポーネント グループには、ADO.NET、ASP.NET、Windows Formsなどが含まれます。これらのコンポーネントはEcma標準でカバーされていないため、その一部は特許に関する懸念の対象となっています。
フレームワークアーキテクチャ
Mono の主なコンポーネントは次のとおりです。
- コード実行エンジン
- クラスライブラリ
- 基本クラスライブラリ
- .NET 互換性クラス ライブラリ
- Mono 固有のクラス ライブラリ:
- Mono と .NET の両方に対応したクロスプラットフォーム クラス ライブラリ (Gtk#、Mono.Cecil、Mono.CSharp、Text.Templating)
- Unix 固有のクラス ライブラリ (POSIX、Filesystem in Userspace (FUSE)、curses)
- プラットフォーム固有のクラス ライブラリ (バインディング: Mac、iOS、Android、MeeGo)
- CLI アセンブリ
- CLI メタデータ
- Mono の共通言語ランタイム
- ECMA共通言語インフラストラクチャ/.NET共通言語ランタイムと互換性があります
- Mono特有の機能強化:
- Mono.SIMD サポート
- モノコルーチンと継続。
- モノ特有の強化
- ネイティブ相互運用サービスと COM 相互運用
- セキュリティ - 透過的なコードフレームワーク
コード実行エンジン
Mono ランタイムには、ECMA CILバイトコードをネイティブ コードに変換するコード実行エンジンが含まれており、ARM、MIPS (32 ビット モードのみ)、SPARC、PowerPC、z/Architecture、IA-32、x86-64、および64 ビット モード用の IA-64など、さまざまなプロセッサをサポートしています。
コード ジェネレーターは、次の 3 つのモードで公開されます。
- ジャストインタイム (JIT) コンパイル: ランタイムは、コードの実行時に ECMA CIL バイトコードをネイティブ コードに変換します。
- Ahead-of-Time (AOT) コンパイル: このコードは、ECMA CIL バイト コード (通常は .exe または .dll ファイルにあります) を変換し、オペレーティング システム、アーキテクチャ、CPU 固有のファイルに保存されるネイティブ コードを生成します (foo.exe ファイルの場合、Linux では foo.exe.so が生成されます)。この操作モードでは、通常実行時に実行されるコードのほとんどがコンパイルされます。トランポリンやその他の管理コードなど、JIT が機能する必要がある例外もあるため、AOT イメージは完全にスタンドアロンではありません。
- 完全静的コンパイル: このモードは、少数のプラットフォームでのみサポートされており、事前コンパイル プロセスをさらに一歩進めて、プログラムに静的にリンクできる静的ファイルに必要なすべてのトランポリン、ラッパー、プロキシを生成し、実行時に JIT が不要になります。これは、Apple の iOS、Sony のPlayStation 3、Microsoft のXbox 360オペレーティング システムで使用されています。[引用が必要]
Mono 2.6 以降では、Mono 独自のコード生成エンジンの代わりにLLVM をコード生成エンジンとして使用するように Mono を構成できます。これは、高性能コンピューティング負荷や、起動時のパフォーマンスよりも実行パフォーマンスが重要なその他の状況で役立ちます。
Mono 2.7 プレビュー以降では、構成時にいずれかのエンジンを選択する必要がなくなりました。コード生成エンジンは、--llvmまたは--nollvmコマンド ライン引数を使用して起動時に選択でき、デフォルトでは起動が速い Mono コード生成エンジンが選択されます。
Mono 5.18以降、LLVMのサポートはデフォルトの設定オプションです。以前のバージョンでは特別なLLVMフォークが必要でしたが、現在では、LLVMで処理できないものに遭遇した場合、monoは独自のコードジェネレーターにフォールバックできます。[30]
ガベージコレクター
Mono 2.8の時点で、Monoランタイムには2つのガベージコレクターが同梱されています。世代別ガベージコレクターとBoehm–Demers–Weiser Conservative Garbage Collectorです。Boehmガベージコレクターは、特定のクラスのアプリケーションでメモリリークを引き起こす可能性があり、一部の長時間実行されるサーバーアプリケーションには適していません。[31] [32] Monoはバージョン3.1.1でデフォルトのコレクターをSimple Generational GC (SGen-GC)に切り替えました。
SGen ガベージ コレクターには、従来の保守的なスキャナに比べて多くの利点があります。世代別ガベージ コレクションを使用し、新しいオブジェクトはナーサリから割り当てられ、ガベージ コレクション サイクル中に生き残ったすべてのオブジェクトは古い世代のメモリ プールに移行されます。その考え方は、多くのオブジェクトは一時的なものであり、すぐに収集でき、アプリケーションの存続期間中存続する長期オブジェクトはほんの一握りのオブジェクトだけであるということです。パフォーマンスを向上させるために、このコレクターは各スレッドにメモリ プールを割り当て、スレッドが他のスレッドと調整することなく新しいメモリ ブロックを割り当てられるようにします。ナーサリから古い世代へのオブジェクトの移行は、ナーサリから古い世代のプールにデータをコピーし、データを指すライブ ポインターを新しい場所を指すように更新することによって行われます。これは大きなオブジェクトの場合コストがかかる可能性があるため、Mono の SGen は大きなオブジェクト用に別のメモリ プール (ラージ オブジェクト セクション) を使用し、それらのオブジェクトに対してマーク アンド スイープ アルゴリズムを使用します。[31]
クラスライブラリ
クラスライブラリは、アプリケーション開発のための包括的な機能セットを提供します。これらは主に C# で書かれていますが、共通言語仕様により、任意の .NET 言語で使用できます。クラスライブラリは名前空間に構造化されており、アセンブリと呼ばれる共有ライブラリに配置されます。.NET Framework について話すときは、主にこのクラスライブラリを指します。[33]
名前空間とアセンブリ
名前空間は、類似のクラスを階層構造に論理的にグループ化するメカニズムです。これにより、名前の競合を回避できます。構造はドットで区切られた単語を使用して実装され、最も一般的な最上位レベルの名前空間は System (System.IO や System.Net など) です。Accessibility や Windows など、他の最上位レベルの名前空間もあります。ユーザーは、名前空間ブロック内に要素を配置することで名前空間を定義できます。
アセンブリは、クラス ライブラリの物理的なパッケージです。これらは .dll ファイルであり、Win32 共有ライブラリと似ていますが (ただし、混同しないでください)、アセンブリの例には、mscorlib.dll、System.dll、System.Data.dll、Accessibility.dll などがあります。名前空間は複数のアセンブリに分散されることが多く、1 つのアセンブリは複数のファイルで構成されている場合があります。
共通言語基盤と共通言語仕様
共通言語インフラストラクチャ (CLI) は、共通言語ランタイム (CLR)によって実装され、Mono 実行可能ファイルによって実装されます。ランタイムは .NET アプリケーションをコンパイルして実行します。共通言語インフラストラクチャは、ECMA 標準によって定義されています。[27]アプリケーションを実行するには、関連するパラメータを使用してランタイムを呼び出す必要があります。
共通言語仕様(CLS) は ECMA-335 の第 6 章で指定されており、Enum の基になる型などの規則など、CLI へのインターフェイスを定義します。Mono コンパイラは、CLS に準拠したイメージを生成します。これが共通中間言語です。Mono ランタイムはこのイメージを取得して実行します。ECMA 標準では、CLS に準拠したライブラリをフレームワークとして正式に定義しています。
マネージドコードとアンマネージドコード
ネイティブ .NET/Mono アプリケーション内では、すべてのコードが管理されています。つまり、CLI のメモリ管理とスレッド セーフティ スタイルによって制御されます。その他の .NET または Mono アプリケーションでは、System.Runtime.InteropServices ライブラリを使用して C# バインディングを作成することで、アンマネージと呼ばれるレガシー コードを使用できます。Mono に同梱されている多くのライブラリは、 Gtk#など、CLI のこの機能を使用しています。
モノ特有のイノベーション
Mono は、コア C# および CLI 仕様への新しい拡張機能により、いくつかの領域で革新を実現しました。
- C#コンパイラー・アズ・ア・サービス(C#コンパイラーをライブラリとして使用します)。[34]
- C#インタラクティブシェル。[35]
- Mono.SIMD名前空間の一部としてのSIMDサポート[36]では、特殊なベクトル型へのメソッド呼び出しが、基礎となるプロセッサCPU SIMD命令に直接マッピングされます。
- .NETコードの完全な静的コンパイル[37](Mono/iPhone、Mono/PS3で使用)。
- モノコルーチン(主にゲーム開発者向けに、マイクロスレッドコードと継続を実装するために使用される)。[38]
- ライブプロセスへのアセンブリ注入。[39]
- JIT バックエンドとしてLLVMを使用します。
- Cxxi と CppSharp は、C++ コードおよびライブラリと直接相互運用します。
さらに、Monoはさまざまなオペレーティングシステムやアーキテクチャで利用できます。[40]
システム要件
Windows 7、Windows 8、Windows 8.1、Windows 10、macOS、または Linux
関連プロジェクト
いくつかのプロジェクトでは Mono を拡張し、開発者が開発環境で使用できるようにします。これらのプロジェクトには次のものが含まれます。
クロスプラットフォーム:
- Banshee Media Player (停止中) は、Mono と Gtk# で構築されたクロスプラットフォームの音楽メディア プレーヤーであり、メディア処理用の多数の C# ベースのライブラリとプロジェクトのドライバーでもあります。
- Beagle (メンテナンスされていない)、Unix システム用の検索システム。
- Gecko#、Mozilla ( Gecko )で使用されるレイアウト エンジンを埋め込むためのバインディング。
- Gtk# は、基礎となるGTKおよびGNOMEライブラリをラップする C# ラッパーで、 Cで記述されており、Linux、MacOS、Windows で利用できます。
- Mono Migration Analyzer (MoMA) は、Windows .NET 開発者が、コード内でクロスプラットフォームではない可能性があり、Linux や他の Unix 上の Mono では動作しない可能性のある領域を見つけるのに役立つツールです。Mono 2.8 (2013) 以降はアップグレードされていません。代わりに、Microsoft の .NET Portability Analyzer (dotnet-apiport) を使用してください。
- MonoCross は、モデルとコントローラーがプラットフォーム間で共有され、ビューがプラットフォームごとに一意であるためユーザー インターフェイスが最適化される、クロスプラットフォームのモデル - ビュー - コントローラー設計パターンです。このフレームワークには、Xamarin.iOS と Xamarin.Android が必要です。
- MvvmCross は、モバイル アプリの開発に Xamarin.iOS と Xamarin.Android を利用するクロスプラットフォームのモデル ビュー ビューモデルフレームワークです。
- MonoDevelop は、ASP.NET、Gtk#、Meego、MonoTouch、Silverlight/Moonlight 向けのアプリケーションの構築をサポートする、オープンソースでクロスプラットフォームの統合開発環境です。
- Moonlight (廃止) は、Mono を使用するSilverlightの実装です。
- OpenTK は、OpenGL、OpenCL、OpenAL 用のマネージド バインディングです。
- QtSharp、Qt フレームワーク用の C# バインディング。
- Resco MobileBusiness は、モバイル クライアント向けのクロスプラットフォーム開発ソリューションです。
- Resco MobileCRM は、 Microsoft Dynamics CRMと同期されたモバイル クライアント向けのクロスプラットフォーム開発ソリューションです。
- ServiceStack は、XML、JSON、SOAP Web サービスの開発を簡素化する高性能なオープンソース .NET REST Web サービス フレームワークです。
- SparkleShare は、クラウド ストレージとファイル同期サービスを提供するオープン ソース クライアント ソフトウェアです。
- Tao (OpenTK に置き換えられました) は、グラフィックスおよびゲーム バインディング (OpenGL、SDL、GLUT、Cg) のコレクションです。
- Xwt は、API 呼び出しを基盤となるプラットフォームのネイティブ プラットフォーム呼び出しにマッピングする GUI ツールキットです。これにより、異なるプラットフォーム間で 1 つの統一された API が公開され、グラフィカル ユーザー インターフェイスがさまざまなプラットフォームでネイティブな外観と操作性を持つことが可能になります。これにより、さまざまなプラットフォーム用にコードをカスタマイズすることなく、複数のプラットフォームで実行されるGUIベースのデスクトップ アプリケーションを構築できます。Xwt API は、サポートされている各プラットフォームのネイティブ コントロール セットにマッピングされます。特定のプラットフォームで使用できない機能は、ネイティブ ウィジェットを使用してエミュレートされます。これは、Xwt のコンテキストではホスティングと呼ばれます。[41] Xwt は、Xamarin Studioの開発で部分的に GUI ツールキット (GTK# の横) として使用されました。[42]サポートされている「バックエンド」エンジンは、WindowsのWPF エンジンと Gtk エンジン (Gtk# を使用) 、 Mac OS XのCocoa エンジン(MonoMac を使用) と Gtk エンジン (Gtk# を使用) 、Linuxの Gtk エンジン (Gtk# を使用) です。[43]
macOS:
- Cocoa# – ネイティブ macOS ツールキット ( Cocoa ) のラッパー (非推奨)。
- Monobjc – macOS プログラミング用のバインディングのセット。
- MonoMac – MonoTouch API 設計に基づいた、macOS プログラミング用の新しいバインディング。
モバイルプラットフォーム:
- MonoDroid。Android オペレーティング システム用の Mono。Android API のバインディング付き。
- MonoTouch。iPhone、iPad、iPod Touch 用の Mono。iOS API へのバインディング付き。
ウィンドウズ:
- MonoTools for Visual Studio Windows 開発者が Visual Studio から直接 Linux および macOS をターゲットにし、SUSE Studioと統合できるようにする Visual Studio プラグインです。
その他の実装
Microsoft には、Shared Source CLI (Rotor)と呼ばれる、現在Windows XPでのみ利用可能な .NET 2.0 のバージョンがあります。Microsoft の共有ソースライセンスは、コミュニティのニーズを満たすには不十分な可能性があります (商用利用は明示的に禁止されています)。
フリーソフトウェア財団の廃止されたPortable.NETプロジェクト。[44]
モノ開発
MonoDevelop は、主に C# やNemerle、Boo、Java ( IKVM.NET経由)などの他の .NET 言語向けに設計された無料の統合開発環境ですが、 C、C++、Python、Valaなどの言語もサポートしています。 MonoDevelop はもともとSharpDevelopを Gtk# に移植したものでしたが、その後 Mono 開発者のニーズを満たすように進化しました。 IDE には、クラス管理、組み込みヘルプ、コード補完、Stetic (GUI デザイナー)、プロジェクト サポート、統合デバッガーが含まれています。
MonoDoc ブラウザは、API ドキュメントとコード サンプルへのアクセスを提供します。ドキュメント ブラウザは Wiki スタイルのコンテンツ管理を使用し、開発者がドキュメントを編集および改善できるようにします。
Xamarin.iOS および Xamarin.Android
Xamarin.iOSとXamarin.AndroidはどちらもXamarinによって開発され、 iPhoneとAndroidベースのスマートフォン向けのMonoの実装です。以前は商用ライセンスでのみ利用可能でしたが[45] 、 2016年にMicrosoftがXamarinを買収した後、Monoランタイム自体がMITライセンスの下で再ライセンスされ[46]、Xamarin.iOSとXamarin.Androidは両方とも無料のオープンソースになっています。[47]
Xamarin.iOS
Xamarin.iOS (旧称 MonoTouch) は、開発者が iPhone、iPod、iPad デバイスで動作する C# および .NET ベースのアプリケーションを作成できるようにするライブラリです。これは Mono フレームワークに基づいており、Novell と共同で開発されました。Mono アプリケーションとは異なり、Xamarin.iOS「アプリ」はApple iPhoneおよびiPadに特化したマシン コードにコンパイルされます。[48]これは、iOS カーネルがデバイス上でジャストインタイム コンパイラの実行を妨げるため必要です。
Xamarin.iOS スタックは次のもので構成されています。
- コンパイラ
- Mono プロジェクトの C#
- RemObjectのOxygeneのようなサードパーティコンパイラはXamarin.iOSもターゲットにできる
- コア .NET ライブラリ
- 開発SDK:
- リンカー – 最終アプリケーションで使用されるコードのみをバンドルするために使用されます
- mtouch – ターゲットデバイスに展開するために使用されるネイティブコンパイラとツール
- インターフェースビルダー統合ツール
- ネイティブCocoaTouch APIをバインドするライブラリ
- Xamarin スタジオ IDE
Xamarin Studio が主要な IDE として使用されますが、Xcodeおよび iOS シミュレータへの追加リンクも記述されています。
2010年4月から9月初旬にかけて、AppleがiPhone開発者向けに新しい規約を導入し、C、C++、Objective-C以外の言語での開発や、iOSプラットフォームとiPhoneアプリケーション間の中間層の使用を禁止したため、MonoTouchの将来は不透明になった。これにより、MonoTouchやUnityなどの他の技術の将来は不透明になった。[49]その後、2010年9月にAppleはこの制限を撤回し、その年の初めに導入した言語制限を緩和すると発表しました。[50] [51]
バージョン履歴
Xamarin.Android
Xamarin.Android(旧称Mono for Android)は、当初Novellによって開発され、Xamarinによって継続され、Androidベースのスマートフォン向けのMonoの独自の[要出典] [68]実装です。 [69] [70] [71] 2011年4月6日に初めてリリースされました。 [72] Mono for Androidは、開発者がすべてのモバイルプラットフォームで実行されるクロスプラットフォームアプリケーションをより簡単に作成できるようにするために開発されました。[73] H-Onlineとのインタビューで、Miguel de Icazaは次のように述べています。「私たちのビジョンは、開発者がすべてのモバイルプラットフォームでエンジンとビジネスロジックコードを再利用し、ユーザーインターフェイスコードをプラットフォーム固有のAPIに交換できるようにすることです。」[74]
2010年8月、マイクロソフトの広報担当者であるマイクロソフトのオープンソース技術センターのトム・ハンラハンは、AndroidのJava使用をめぐってオラクルがグーグルを提訴したことに関連して、「オラクルがJavaに関してグーグルに対して取っているような行動は起こらないだろう。Androidへの.NET移植がMono経由であれば、マイクロソフトのコミュニティプロミス契約に違反することになるだろう」と述べた。[75] [76]
Xamarin.Android スタックは次のコンポーネントで構成されています。
- Mono ランタイム
- Android UIデザイナー[77]
- ライブラリ:
- コア .NET クラス ライブラリ
- ネイティブのAndroid/Java APIをバインドするライブラリ
- パッケージ化、展開、デバッグを行うSDKツール
- Xamarin Studio と Visual Studio 2010 を統合して、UI を設計し、リモートでデバッグし、展開します。
macOS 上の Mono
ココアシャープ
Cocoa# (CocoaSharp とも呼ばれる) は、 Mac OS Xのブリッジフレームワークであり、Mono ランタイムで開発されたアプリケーションがCocoa API にアクセスできるようにしました。2004 年 8 月 12 日に最初にリリースされ、[78] 2005 年 2 月 18 日にリリースされたバージョン 1.0.6 から Mono ディストリビューションに含まれていました。[要出典] 2008 年以降は開発が行われておらず、[要出典]現在は非推奨となっています。[79]
モノオブジェクト
Monobjc は CocoaSharp の代替です。これにより、.NET 開発者はネイティブ コードなしで、Cocoa を含む Mac OS X API のほとんどを使用しながら、ネイティブ UI を実現できます。[引用が必要]
Xamarin.Mac
Xamarin.Macは、開発者がMac上で.NETおよびC#アプリを実行できるようにするライブラリです。[80]
ライセンス
Monoは、 QtやMozilla Application Suiteなどの他の製品と同様に、Xamarinによってデュアルライセンスされています。MonoのC#コンパイラとツールは、GNU General Public License(GPLv2のみ)(Monoバージョン2.0以降、Mono C#コンパイラのソースコードはMIT X11 Licenseでも利用可能)の下でリリースされています。[81]ランタイムライブラリはGNU Lesser General Public License(LGPLv2のみ)の下で、クラスライブラリはMIT Licenseの下でリリースされています。これらはすべてフリーソフトウェアおよびオープンソースライセンスであるため、Monoはフリーでオープンソースのソフトウェアです。
C#コンパイラのライセンスはGPLからMIT X11ライセンス[82]に変更され、GPLでは禁止されていた以下のいくつかのケースでコンパイラコードの再利用が可能になった。
- Mono のサービスとしてのコンパイラ
- Mono インタラクティブ シェル
- Mono 埋め込み可能 C# コンパイラ
- Mono による C# 4.0 動的バインダーの実装。
- MonoDevelopの組み込みパーサーとASTグラフ
2016年3月18日、マイクロソフトによるXamarinの買収が正式に完了した。[83] 2016年3月31日、マイクロソフトはMicrosoft Buildで、以前は商用ライセンスが必要だったシナリオでも、MITライセンスの下でMonoを完全に再ライセンスすると発表し、 [84]マイクロソフトは、「Monoを使用、販売、販売の申し出、輸入、または配布する」当事者に対して「適用可能な特許」を主張しないと述べた。[85] [86]また、XamarinがMonoプロジェクトを.NET Foundationに寄付したことも発表された。[85]
MonoとMicrosoftの特許
2009 年 7 月 6 日、マイクロソフトは、ECMA 334 および ECMA 335 仕様をコミュニティ プロミスの下に置き、.NET の代替実装を実装、配布、または使用する者に対して特許を主張しないことを誓約すると発表しました。[87] Mono による .NET スタックのコンポーネントの実装は、ECMAに標準化のために提出されておらず、プロジェクトの存続期間の大半にわたって特許侵害の懸念の原因となっていました。[88]特に、マイクロソフトが特許訴訟を通じて Mono プロジェクトを破壊できるかどうかについて議論が交わされました。[89]
ECMA に提出された基本テクノロジ、したがって Unix/GNOME 固有の部分は、Microsoft が ECMA 334 ( C# ) および ECMA 335 ( CLI ) 標準の両方をMicrosoft Community Promiseの下に明示的に配置しているため、安全であると主張されています。懸念は主に、ASP.NET 、 ADO.NET 、 Windows Forms (非標準化された名前空間を参照) など、.NET Framework 上で Microsoft が開発したテクノロジ、つまり Mono の Windows 互換性スタックを構成する部分に関係しています。これらのテクノロジは現在[いつ? ] Mono に完全に実装されておらず、Mono アプリケーションの開発には必要ありませんが、Windows システムとの完全な互換性を必要とする開発者とユーザーのために用意されています。
2009年6月、Ubuntu技術委員会は「Monoまたはそれをベースにしたアプリケーションをアーカイブやデフォルトのインストールセットから除外する理由はない」と述べた。[90]
フリーソフトウェア財団のリチャード・ストールマンは、2009年6月2日に「[...] C#でプログラムを書くことを奨励すべきではない。したがって、GNU/LinuxディストリビューションのデフォルトインストールやGNOMEをインストールする主な方法にC#実装を含めるべきではない」と述べた。[91] 2009年7月1日、ブレット・スミス(FSF所属)は「マイクロソフトの特許ははるかに危険だ。GNU/Linuxの敵であると宣言し、特許でコミュニティを攻撃する意向を表明した唯一の大手ソフトウェア会社だ」「C#は私たちにとって独特の脅威である」「コミュニティプロミスはこれらをまったく変えない」と述べた。[92]
Fedoraプロジェクト リーダーの Paul Frields 氏は、「Mono については深刻な懸念を抱いており、今後も法律顧問とともに検討を続け、当社側で必要な措置を検討していきます」と述べていますが、「Mono を削除する決定を下すのに十分な法的結論にはまだ達していません」。[93]
2011年11月、Ubuntu開発者サミットで、開発者らはUbuntu 12.04以降、UbuntuのデフォルトインストールからMonoベースのBansheeメディアプレーヤーを削除することに投票した。その理由として報告されたのはARMアーキテクチャでのパフォーマンスの問題、GTK+ 3バージョンでのブロックの問題、そして開発者らの意見では「メンテナンスが不十分」であることなどだったが、Monoに依存する残りのプログラムであるgbrainyとTomboyも削除される予定だったため、この決定はMonoを基本ディストリビューションから削除したいという要望にも影響されたのではないかという憶測も浮上した。Mono開発者のJoseph Michael ShieldsはARMでのBansheeのパフォーマンスを擁護し、またBansheeがメンテナンスが不十分であるという主張は主要な貢献者の一人に対する「直接的な個人的侮辱」であると述べた。[94]Monoで開発されたソフトウェア


Monoアプリケーション プログラミング インターフェイス(API) と C#を使用して、さまざまなアプリケーションをカバーする多くのプログラムが開発されています。Linux デスクトップ用に作成されたプログラムには、Banshee、Beagle、F-Spot、Gbrainy、Docky / GNOME Do、MonoTorrent、Pinta、Tomboyなどがあります。Logos 5 Bible Study Software (OS X Version)というプログラムは、 MacOS 用に作成されました。
シムズ3やセカンドライフ(スクリプト言語のため)、OpenSimulator仮想世界サーバー、UnityやMonoGameゲームエンジンで構築されたゲームなど、多くのビデオゲームもMonoを使用しています。[95] OpenRAはAppleディスクイメージとLinux AppImagesをMonoにバンドルしており、基本的にゲームからほぼすべての依存関係を削除しています。[96]
バージョン履歴
参照
- 共通言語ランタイム
- .NET フレームワーク
- .NET はオープンソース フレームワークであり、.NET Framework の後継です。
- 標準ライブラリ (CLI)
- 基本クラスライブラリ(BCL)
- アプリケーション仮想マシンの比較
- DotGNU – Portable.NETを含むフリーソフトウェアの包括的プロジェクト
- MonoDevelop – Mono と Microsoft .NET Frameworkプラットフォームの両方をターゲットとするオープンソースIDE
- Moonlight (ランタイム) は、Mono プロジェクトによって開発されたMicrosoftのSilverlightのオープンソース実装です。
- 共有ソース共通言語インフラストラクチャ- マイクロソフトの .NET の共有ソース実装。以前は Rotor というコード名でした。
- mod_mono – Apache HTTP Serverのモジュール。Monoを使用して複数のプラットフォームでASP.NETページやその他のアセンブリをホストできます。
参考文献
引用
- ^ AIX および IBM i での Mono の紹介
- ^ 「FAQ: ライセンス」 。 2020年7月3日閲覧。
- ^ 「Microsoft が Xamarin を買収し、より多くの開発者があらゆるデバイスでアプリを構築できるように支援」。公式 Microsoft ブログ。2016 年 2 月 24 日。2016年 2 月 24 日閲覧。
- ^ ab Sourav, Rudra (2024-09-02). 「Microsoft がオープンソース プロジェクトを Wine チームに引き渡すという予想外の動き: 寛大な変化か?」It's FOSS News 。 2024 年 9 月 8 日閲覧。
- ^ Bonisteel, Steven (2000 年 6 月 23 日)。「Microsoft は .NET しか見ていない」ZDNet。2011 年 11 月 5 日時点のオリジナルよりアーカイブ。2011 年 4月5 日閲覧。
- ^ 「ECMA-335-パートI-IV - ECMA-335、第1版、2001年12月」(PDF)。
- ^ Wilcox, Joe; Shankland, Stephen (2001 年 6 月 28 日)。「Microsoft がコード共有に参入」ZDNet。
- ^ 「[Mono-list] Mono 初期の歴史」mono-list (メーリングリスト) 2003-10-13. 2011-06-06 時点のオリジナルよりアーカイブ。 2005-03-30閲覧。
- ^ 「OSS .NET 実装 Mono 1.0 がリリースされました - Ars Technica」。ArsTechnica 2004年 6 月 30 日。2009年 10 月 23 日閲覧。
- ^ 「サポートされているプラットフォーム」。Mono の Web サイト。
- ^ Koep, Paul (2011-05-02). 「従業員によると、Novell のプロボ オフィスで数百人が解雇された」KSL-TV 。 2011-05-07閲覧。
- ^ Vaughan-Nichols, Steven J. (2011-05-04). 「Monoは死んだのか? Novellは死につつあるのか?」ZDNet . 2024年8月2日閲覧。
- ^ Clarke, Gavin (2011-05-03). 「.NET Android および iOS クローンが Attachmate によって削除される」. The Register . 2011-05-07に閲覧。
- ^ “Xamarin の発表 – Miguel de Icaza”.ティラニア.org 2011-05-16 。2013 年 7 月 17 日に取得。
- ^ 「Mono の終焉と復活」。infoq.com。2011-05-17。2011-05-29に取得。たとえサポートしていないとしても、Xamarin の将来の製品と直接競合する製品を所有しています。Attachmate とXamarin
の間で何らかの法的取り決めがなければ、後者は新しい開発で古いものと同じテクノロジを使用していないことを証明するという困難な状況に直面することになります。これは実際にはネイティブ API のラッパーにすぎないことを考えると、Attachmate のコードに精通していないチームであっても、クリーン ルーム実装であることを証明するのは困難です。
- ^ 「SUSE と Xamarin が提携してイノベーションを加速し、Mono の顧客とコミュニティをサポート」Novell 2011-07-18 2011-07-18閲覧。
この契約により、Xamarin は Mono、MonoTouch、Mono for Android、Mono Tools for Visual Studio を含むすべての知的財産に対する広範な永久ライセンスを付与されます。Xamarin は、Mono ベースの製品を使用する SUSE の顧客に技術サポートも提供し、Mono オープン ソース コミュニティ プロジェクトの管理を引き受けます。
- ^ de Icaza, Miguel (2011-07-18). 「Novell/Xamarin Partnership around Mono」. 2011-07-18に閲覧。
- ^ 「Microsoft が Xamarin を買収し、より多くの開発者があらゆるデバイスでアプリを構築できるように支援」。公式Microsoftブログ。2016 年 2 月 24 日。2016 年 2 月 24 日時点のオリジナルよりアーカイブ。2016 年2 月 24 日閲覧。
- ^ ab de Icaza, Miguel (2011-03-07). 「GDC 2011」 。 2011-03-11に取得。
WPF を構築する予定はありません。 適切な時間枠で実装を構築するための人員が不足しているからです(...) 主に OpenGL/DirectX ベースのツールの場合は、Windows.Forms を使用してください。ただし、Windows.Forms は積極的に開発されていないため、バグ修正や回避策が必要になる場合があることに注意してください。
- ^ 「Mono 互換性リスト」。
- ^ 「Mono プロジェクト ロードマップ - Mono」。Mono-project.com。2013年 7 月 17 日閲覧。
- ^ 「MoonlightRoadmap」。Mono チーム。2008年 11 月 8 日閲覧。
- ^ 「Moonlight 2 のリリース、Moonlight 3 および 4 へのロードマップ — Miguel de Icaza」Tirania.org。2009 年 12 月 17 日。2013年 7 月 17 日閲覧。
- ^ “Moonlight 3.0 プレビュー 1 — Miguel de Icaza”.ティラニア.org 2010 年 2 月 3 日。2013 年 7 月 17 日に取得。
- ^ 「Xamarin が Linux 向け Silverlight テクノロジーを放棄」ZDNet。
- ^ ab "Ecma-335"。
- ^ 「Technet.com」。2013年5月23日時点のオリジナルよりアーカイブ。2009年7月7日閲覧。
- ^ 「データベース アクセス - Mono」。
- ^ 「Mono LLVM」。Mono 。
- ^ ab 「Compacting GC」。mono-project.com 。 2008年12月16日閲覧。
- ^ Boehm, Hans-J. 「保守的ガベージコレクションの利点と欠点」。Xerox PARC。2013年7月24日時点のオリジナルよりアーカイブ。 2008年12月16日閲覧。
- ^ 「.NET Framework アーキテクチャ」。公式 Mono ドキュメント。
- ^ ab 「Mono の C# コンパイラーを Windows 上のサービスとして提供 - Miguel de Icaza」。Tirania.org。2010 年 4 月 27 日。2013年 7 月 17 日閲覧。
- ^ ab "CsharpRepl - Mono". Mono-project.com . 2013年7月17日閲覧。
- ^ ab 「Mono の SIMD サポート: Mono をゲーム用に安全にする - Miguel de Icaza」Tirania.org。2008 年 11 月 3 日。2013年 7 月 17 日閲覧。
- ^ デ・イカザ、ミゲル。 「モノラルでの静的コンパイル」。
- ^ 「続編 - Mono」。
- ^ デ・イカザ、ミゲル。 「Monovation: ライブ プロセスへのアセンブリ インジェクション」。
- ^ 「サポートされているプラットフォーム - Mono」。
- ^ Narayanaswamy, Anand (2012 年 11 月 23 日)。「Xwt でクロスプラットフォーム アプリケーションを構築する」。InfoQ。2016年 4 月 15 日時点のオリジナルよりアーカイブ。2016年 4 月 15 日閲覧。
- ^ de Icaza, Miguel (2013 年 2 月 22 日). 「Xamarin Studio の制作」. InfoQ . 2016 年 4 月 15 日時点のオリジナルよりアーカイブ。2016年 4 月 15 日閲覧。
- ^ 「Xwt Read Me」。Xwt on GitHub。2012年1月15日。2016年4月16日時点のオリジナルよりアーカイブ。 2016年4月15日閲覧。
- ^ 「DotGNU プロジェクト」 。2014年6 月 2 日閲覧。
- ^ 「FAQ」。os.xamarin.com。2011-08-01。MonoTouch
は、オープン ソースの Mono プロジェクトに基づく商用製品であり、開発者ごとにライセンスされます。
- ^ “モノラル再ライセンスMIT”. www.mono-project.com。 2016年3月31日。
- ^ 「Xamarin for Everyone」。blog.xamarin.com。2016-03-31。2016-04-12 にオリジナルからアーカイブ。2016-04-11に取得。
本日、Android、iOS、Mac 向けの Xamarin SDK を MIT ライセンスの下で今後数か月以内にオープン ソース化するという当社の取り組みを発表します
。 - ^ 「MonoTouch と iPhone 4」。MonoTouch
で構築されたアプリケーションは、他のネイティブ アプリケーションと区別がつかないネイティブ アプリケーションです。
- ^ 「Apple が Adobe を狙う…それとも Android?」 2010 年 4 月 9 日。
- ^ 「App Store レビュー ガイドラインに関する Apple の声明」。
彼らの意見に基づき、本日、iOS Developer Program ライセンスのセクション 3.3.1、3.3.2、3.3.9 に重要な変更を加え、今年初めに導入した制限の一部を緩和します。特に、iOS アプリの作成に使用する開発ツールに対するすべての制限を緩和します (結果として得られるアプリがコードをダウンロードしない限り)。これにより、開発者が望む柔軟性が得られ、必要なセキュリティも維持されます。
- ^ 「MonoTouch ユーザーにとって素晴らしいニュース」。
これらの新しい用語により、曖昧さはなくなり、C# の愛好者や愛好家は MonoTouch を再び使用できるようになります。ガベージ コレクションや厳密に型付けされた言語を好む開発者は、作業を再開できます。
- ^ デ・イカザ、ミゲル。 「MonoTouch 1.0 が稼働します」。
- ^ 「MonoTouch 2.0.0」。Xamarin。
- ^ 「MonoTouch 3.0.0」。Xamarin。
- ^ 「MonoTouch 4.0.0」。Xamarin。
- ^ 「MonoTouch 5.0」。Xamarin。
- ^ 「MonoTouch 6.0」。Xamarin。
- ^ 「Xamarin.iOS 6.2」。Xamarin . 2023年1月28日。
- ^ “Xamarin.iOS 6.4”. Xamarin . 2022年7月8日.
- ^ 「iOS 7 と Xamarin: 準備は万端」Xamarin ブログ2013 年 9 月 18 日2021 年 3 月 20 日閲覧。
- ^ 「iOS 8 は Xamarin でさらに大きく、さらに良くなりました」。Xamarinブログ。2014 年 9 月 10 日。2021年 3 月 20 日閲覧。
- ^ 「Xamarin for iOS 9: より深く検索」Xamarin ブログ2015-09-16 . 2021-03-20閲覧。
- ^ 「メジャーアップデート: iOS 10、Android Nougat、その他の注目機能」Xamarin ブログ2016-09-13 2021-03-20閲覧。
- ^ spouliot (2017 年 9 月 19 日). 「Xamarin.iOS 11.0 リリース ノート - Xamarin」. docs.microsoft.com . 2021 年 3 月 20 日閲覧。
- ^ spouliot (2018 年 9 月 14 日). 「Xamarin.iOS 12.0 リリース ノート - Xamarin」. docs.microsoft.com . 2021 年 3 月 20 日閲覧。
- ^ spouliot (2019 年 9 月 13 日). 「Xamarin.iOS 13.0 リリース ノート - Xamarin」. docs.microsoft.com . 2021 年 3 月 20 日閲覧。
- ^ spouliot (2020 年 9 月 21 日). 「Xamarin.iOS 14.0 リリース ノート - Xamarin」. docs.microsoft.com . 2021 年 3 月 20 日閲覧。
- ^ 「Mono for Android のライセンスはどのように付与されますか?」。Mono for Android FAQ。2011 年 8 月 28 日。2012年 3 月 29 日閲覧。
- ^ 「Novell の Mono プロジェクトが Android に .Net 開発をもたらす」。NetworkWorld。
- ^ 「Novell の Mono プロジェクトが Android に .Net 開発をもたらす」。InfoWorld。2010 年 3 月 16 日。
- ^ 「MonoDroid: .NET サポートが Android に登場」。TechieBuzz。2022 年 10 月 18 日。
- ^ 「Mono for Android が C# を Android に導入」Heise Online 2011-04-07 2011-04-07閲覧。
- ^ 「Novell (Mono/C#) が MonoDroid を開発中」。Android コミュニティ。2010 年 2 月 18 日。
これにより、開発者はクロスプラットフォーム アプリを簡単に作成できるようになり、MonoTouch を使用して作成された既存のアプリの一部を Android に移植できるようになります。
- ^ 「Mono for Android」。H-Online。
私たちのビジョンは、開発者がすべてのモバイル プラットフォームでエンジンとビジネス ロジック コードを再利用し、ユーザー インターフェイス コードをプラットフォーム固有の API に置き換えることができるようにすることです。
- ^ 「Microsoft は Android での (Mono) .NET を止めない」。TechWorld。Oracle
が Java に関して Google に対して取っているような措置は、実行されないだろう。Android への .NET 移植が Mono 経由で行われた場合、Microsoft Community Promise Agreement の対象となる。
- ^ 「Microsoft は Android 上の .NET は安全であり、Oracle のような訴訟は起こらないと述べている」。Developer Fusion。
- ^ 「Xamarin Designer for Android」。Visual Studio Magazine。5
月 14 日、Xamarin は Android 4.2 向け Mono を発表しました。
- ^ 「Cocoa# が完成に近づいています。最初のスクリーンショットが公開されました – OSnews」。
- ^ “macOS | Mono”. www.mono-project.com . 2023年2月4日閲覧。
- ^ davidortinau. 「Xamarin.Mac - Xamarin」. learn.microsoft.com . 2023 年 2 月 4 日閲覧。
- ^ 「MIT X11 ライセンスに基づく Mono C# コンパイラ」 Novell Inc. 2008-04-08。2008-05-13 時点のオリジナルよりアーカイブ。2008-04-09に取得。
- ^ de Icaza, Miguel. 「Mono C# コンパイラーが MIT X11 ライセンスにもなりました」。
- ^ 「Xamarin for Everyone」。Xamarin ブログ。Xamarin。2016 年 3 月 31 日。2016 年 4 月 12 日時点のオリジナルよりアーカイブ。2016 年4 月 12 日閲覧。
- ^ Anderson, Tim (2016 年 3 月 31 日). 「Microsoft が Xamarin のツールとコードを無料かつオープンソース化」. The Register .
- ^ ab Ferraira, Bruno (2016 年 3 月 31 日)。「Xamarin が Visual Studio に無料で付属」。The Tech Report。
- ^ 「Microsoft Patent Promise for Mono」。GitHub 上のMono。Mono プロジェクト。2016 年 3 月 28 日。2016 年 4 月 12 日時点のオリジナルよりアーカイブ。2016 年4 月 12 日取得。
- ^ 「ECMA C# および CLI 標準」。Port 25。2009 年 7 月 6 日。2013 年 5 月 23 日時点のオリジナルからアーカイブ。2009年7 月 7 日取得。
コミュニティ プロミスに基づき、Microsoft は、LGPL や GPL などのオープン ソース ライセンス モデルを含むあらゆる種類の開発モデルまたは配布モデルの下で、対象実装を作成、使用、販売、販売の申し出、輸入、または配布する者に対して、必要な請求を主張しないことを保証します。
- ^ Babcock, Charles (2001 年 8 月 7 日)。「オープン ソースは .Net に引っかかるのか?」ZDNet Asia。
- ^ スミス、ブレット (2009 年 7 月 16 日)。「マイクロソフトの空約束」fsf.org。
- ^ 「Mono の立場表明」。Canonical Ltd. 2009 年 6 月 30 日。
ソフトウェア業界では、訴訟を起こす意図ではなく、訴訟に対する保護として特許を登録するのが一般的です。したがって、特許侵害の申し立てがない特許の存在だけでは、Ubuntu プロジェクトから除外される十分な理由にはなりません。
- ^ 「フリーソフトウェアが Mono や C# に依存すべきでない理由」
- ^ 「マイクロソフトの空約束」。
- ^ 「Fedora は Mono を懸念している」 internetnews.com. 2009 年 6 月 12 日。2009 年 6 月 19 日時点のオリジナルからアーカイブ。2010年7 月 4 日閲覧。Mono
を削除する決定を下すのに十分な法的結論にはまだ達していません
。 - ^ 「『Bansheegeddon』でBansheeとMonoがUbuntuのデフォルトから削除される可能性」ITWorld。2015年7月10日時点のオリジナルよりアーカイブ。2015年8月31日閲覧。
- ^ 「Monoを使用している企業」。Monoプロジェクト。 2015年8月30日閲覧。
- ^ Paul Chote: OpenRA: Playtest 20190825、2019-08-25
- ^ 「Mono Releases」。Mono-project.com 。 2015年4月4日閲覧。
- ^ 「OldReleases」。Mono-project.com 。 2013年7月17日閲覧。
- ^ 「Mono 1.0 リリースノート」。Mono-project.com 。 2013年7月17日閲覧。
- ^ 「Mono 1.1.1: 開発リリース」。Mono-project.com 。 2013年7月17日閲覧。
- ^ 「Mono 1.2: リリースノート」。Mono-project.com 。 2013年7月17日閲覧。
- ^ 「リリースノート Mono 2.0」。Mono-project.com。2008 年 10 月 6 日。2013 年 7 月 17 日閲覧。
- ^ 「リリースノート Mono 2.2」。 Mono-project.com 。 2013 年 7 月 17 日閲覧。
- ^ 「Linear IR - Mono」。Mono-project.com 。 2013年7月17日閲覧。
- ^ 「リリースノート Mono 2.4」。Mono-project.com 。 2013年7月17日閲覧。
- ^ 「リリースノート Mono 2.6」。Mono-project.com 。 2013年7月17日閲覧。
- ^ 「リリースノート Mono 2.8」。Mono-project.com 。 2013年7月17日閲覧。
- ^ 「リリースノート Mono 2.10」。Mono-project.com 。 2013年7月17日閲覧。
- ^ 「リリースノート Mono 3.0」。 Mono-project.com 。 2013 年 9 月 23 日閲覧。
- ^ 「リリースノート Mono 3.2」。Mono-project.com 。 2013年9月23日閲覧。
- ^ 「リリースノート Mono 3.4」。 Mono-project.com 。 2015年4月4日閲覧。
- ^ 「リリースノート Mono 3.6」。 Mono-project.com 。 2015年4月4日閲覧。
- ^ 「リリースノート Mono 3.8」。Mono-project.com 。 2015年4月4日閲覧。
- ^ 「リリースノート Mono 3.10」。 Mono-project.com 。2015年4月4日閲覧。
- ^ 「リリースノート Mono 3.12」。 Mono-project.com 。2015年4月4日閲覧。
- ^ 「リリースノート Mono 4.0」。Mono-project.com 。 2015年5月3日閲覧。
- ^ 「リリースノート Mono 5.0」。Mono-project.com 。 2017年5月13日閲覧。
- ^ 「Mono 5.2.0 リリース ノート」。
- ^ 「Mono 5.4.0 リリース ノート」。
- ^ 「Mono 5.8.0 リリース ノート」。
- ^ 「Mono 5.10.0 リリースノート」。
- ^ 「Mono 5.12.0 リリースノート」。
- ^ 「Mono 5.14.0 リリースノート」。
- ^ 「Mono 5.16.0 リリースノート」。
- ^ 「Mono 5.18.0 リリースノート」。
- ^ 「Mono 5.20.0 リリースノート」。
- ^ 「Mono 6.0.0 リリースノート」。
- ^ 「Mono 6.4.0 リリースノート」。
- ^ 「Mono 6.6.0 リリースノート」。
- ^ 「Mono 6.8.0 リリースノート」。
- ^ 「Mono 6.10.0 リリースノート」。
- ^ 「Mono 6.12.0 リリースノート」。
出典
- この記事には、当時GNU フリー ドキュメンテーション ライセンスの下にあった Mono のホームページのテキストが組み込まれています。
- de Icaza, Miguel (2003 年 10 月 13 日)。「[Mono-list] Mono 初期の歴史」。mono -list (メーリング リスト)。2011 年 6 月 6 日時点のオリジナルよりアーカイブ。2005 年12 月 6 日閲覧。
- Dumbill, Edd (2004 年 3 月 11 日)。「Mono は Linux 開発の優先プラットフォームになるか?」ONLamp。2006 年 10 月 19 日時点のオリジナルよりアーカイブ。2006年10 月 14 日閲覧。
- Loli-Queru, Eugenia (2005 年 2 月 22 日)。「Mono アプリケーション? 豊富です!」OSNews。2005年12 月 6 日閲覧。
- Kerner, Sean Michael (2005 年 11 月 18 日)。「Mono プロジェクトが仮想化へ」。インターネット ニュース。2006 年10 月 14 日閲覧。
- Kerner, Sean Michael (2006 年 11 月 9 日)。「数か月遅れで Novell が Mono 1.2 を出荷」。internetnews.com。
- Northcutt, Corey (2006 年 10 月 12 日)。「mod_mono の世界」。Ubiquity。2007 年 2 月 23 日時点のオリジナルよりアーカイブ。2006年10 月 14 日閲覧。
- Campbell, Sean (2008 年 10 月 8 日)。「Mono - Novell プロダクト マネージャー、Joseph Hill 氏へのインタビュー」。HSIB。2008年10 月 8 日閲覧。
- Smith, Tim (2010 年 9 月 9 日)。「Java および .NET の特許問題に関する簡単な紹介」。InfoQ。2010年9 月 13 日閲覧。
外部リンク
- 公式サイト
- Apple社のハンドヘルド製品への移植版MonoTouchのメインページ
