Mono (ソフトウェア)

Article on other languages:

del.icio.us del.icio.us
Digg Digg
Furl Furl
Reddit Reddit
Rojo Rojo
Add to OnlyWire
Mono
開発元: ノベル
最新版: 1.9.0 / 2008年3月14日
対応OS クロスプラットフォーム
種別: プラットフォーム
ライセンス GPLLGPLMITデュアル
公式サイト www.mono-project.com

Monoは、ノベルの主導で開発されている、Ecma標準に準じた.NET互換の環境を実現するためのオープンソースソフトウェア群、 またそのプロジェクト名である。共通言語基盤(CLI)の実装やC#コンパイラなどが含まれる。Monoはマルチプラットフォームであり、LinuxFreeBSDUNIXMac OS XSolarisWindowsで動作する。

マイクロソフトはFreeBSD、Windows、Mac OS Xで動作するシェアードソースCLIというCLIの実装を公開しているが、マイクロソフトのシェアードソースライセンスは商用利用が禁止されているなど、コミュニティにとって十分とはいえない。MonoプロジェクトはPortable.NETプロジェクトとさまざまな点で共通した目標を掲げている。

Monoランタイムは多くのプロセッサで動作するJITコンパイラを搭載している。JITコンパイラはアプリケーションの実行中に共通中間言語(CIL)コードをネイティブコードに変換し、それらをキャッシュする。実行前にネイティブコードに変換し、キャッシュしておくことも可能である。JITコンパイラが対応するプロセッサはx86SPARCPowerPCARMS390(32および64ビット)、x86-64IA64、64ビットモードSPARCである。それ以外のシステムでは、ネイティブコードに変換するのではなくインタプリタによって逐次バイトコードが実行される。ほとんどの状況で、JITコンパイラによる方法はインタプリタよりもパフォーマンスの点で勝っている。

目次

歴史

2000年12月に.NETドキュメントが公開されると、Monoプロジェクトの創始者であるMiguel de Icazaは.NET技術に興味を魅かれた。バイトコードインタプリタを調べてみると、彼はメタデータに関する仕様が存在しないことに気がついた。2001年2月、彼は.NETメーリングリストにおいて不足している情報を公開するよう求め、同時にC#の習得のため、C#で書かれたC#コンパイラの開発に着手した。2001年4月、Ecma Internationalは不足していたファイル形式を公開し、de IcazaGUADEC2001年4月6日~8日)において彼の開発したコンパイラのデモンストレーションを行った(それは自分自身の解析が可能であった)。

Ximianノベルに買収される前のMonoの開発者)では、生産性を向上するためのツールを開発するための会議が内部的に行われていた。実現可能性の調査の結果、そのような技術は構築可能であるという結論に至り、Ximianは他のプロジェクトからスタッフを集め、Monoチームを結成した。しかしXimian内部だけで.NETと同等のものを作るには人材が不足していたため、Monoをオープンソースプロジェクトとした。これは2001年7月19日、オライリーカンファレンスによって発表された。

三年近く経った2004年6月30日、Mono 1.0がリリースされた。

monoはスペイン語で猿を意味するため、Monoのロゴには猿が描かれている。猿に関する名称はXimianの他のプロジェクトにも見られる。 Mono FAQでは、名称の由来に関する質問に対して「我々は猿が好きなのです。」(We like monkeys.)と回答している。

現在の状況とロードマップ

Monoの最新のバージョンは2007年6月現在で1.2.4である。.NET Framework 2.0のコアAPIをサポートするが、APIの実装は未だ不完全である[1]

.NET Framework 2.0の完全サポート(2.0バージョンのWindows Formsも含む)は2007年第四四半期に予定されているMono 2.2で提供される予定である[2]

.NET Framework 3.0の実装はMonoの実験的子プロジェクトであるOliveにおいて開発中である。しかし、Monoフレームワークによる.NET 3.0のサポートは未だ予定されていない[3]

Monoコンポーネント

Monoは大きく分けて三種類のコンポーネントから構成される。

  1. 中核コンポーネント
  2. Mono/Linux/GNOME開発スタック
  3. マイクロソフト互換スタック

中核コンポーネントにはC#コンパイラ仮想マシン基本クラスライブラリが含まれる。これらはEcma-334およびEcma-335の標準に基づいており、これによってMonoを標準準拠のオープンソースCLI仮想マシンたらしめている。

Mono/Linux/GNOME開発スタックは、従来のGNOMEや他のフリーライブラリをアプリケーション開発に活用するためのツール群である。

これに含まれるものとしては、GUI開発のためのGtk#Geckoレンダリングエンジンを利用するためのMozillaライブラリ、 Unix統合ライブラリ、データベース接続ライブラリ、セキュリティスタック、XMLスキーマ言語RelaxNGなどがある。 Gtk#によって、MonoアプリケーションをGNOMEデスクトップにネイティブアプリケーションとして統合することができる。データベースライブラリはMySQLSQLitePostgreSQLFirebirdOpen Database Connectivity(ODBC)、Microsoft SQL Server(MSSQL)、Oracle、オブジェクトリレーショナルデータベースdb4oなど、多くのデータベースに接続することができる。

マイクロソフト互換スタックは、Windowsの.NETアプリケーションを他のオペレーティングシステムで利用するための機能を提供する。例えば、ADO.NETASP.NETWindows.Formsなどの実装が含まれる。

外部リンク

This article is from Wikipedia. All text is available under the terms of the GNU Free Documentation License.


Giant Panda

Mercedes Car
James Bond Guide
This site monitored by SitePinger.net