|
Article on other languages:
|
Monoは、ノベルの主導で開発されている、Ecma標準に準じた.NET互換の環境を実現するためのオープンソースソフトウェア群、 またそのプロジェクト名である。共通言語基盤(CLI)の実装やC#のコンパイラなどが含まれる。Monoはマルチプラットフォームであり、Linux、FreeBSD、UNIX、Mac OS X、Solaris、Windowsで動作する。 マイクロソフトはFreeBSD、Windows、Mac OS Xで動作するシェアードソースCLIというCLIの実装を公開しているが、マイクロソフトのシェアードソースライセンスは商用利用が禁止されているなど、コミュニティにとって十分とはいえない。MonoプロジェクトはPortable.NETプロジェクトとさまざまな点で共通した目標を掲げている。 Monoランタイムは多くのプロセッサで動作するJITコンパイラを搭載している。JITコンパイラはアプリケーションの実行中に共通中間言語(CIL)コードをネイティブコードに変換し、それらをキャッシュする。実行前にネイティブコードに変換し、キャッシュしておくことも可能である。JITコンパイラが対応するプロセッサはx86、SPARC、PowerPC、ARM、S390(32および64ビット)、x86-64、IA64、64ビットモードSPARCである。それ以外のシステムでは、ネイティブコードに変換するのではなくインタプリタによって逐次バイトコードが実行される。ほとんどの状況で、JITコンパイラによる方法はインタプリタよりもパフォーマンスの点で勝っている。
歴史2000年12月に.NETドキュメントが公開されると、Monoプロジェクトの創始者であるMiguel de Icazaは.NET技術に興味を魅かれた。バイトコードインタプリタを調べてみると、彼はメタデータに関する仕様が存在しないことに気がついた。2001年2月、彼は.NETメーリングリストにおいて不足している情報を公開するよう求め、同時にC#の習得のため、C#で書かれたC#コンパイラの開発に着手した。2001年4月、Ecma Internationalは不足していたファイル形式を公開し、de IcazaはGUADEC(2001年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は大きく分けて三種類のコンポーネントから構成される。
中核コンポーネントにはC#コンパイラ、仮想マシン、基本クラスライブラリが含まれる。これらはEcma-334およびEcma-335の標準に基づいており、これによってMonoを標準準拠のオープンソースなCLI仮想マシンたらしめている。 Mono/Linux/GNOME開発スタックは、従来のGNOMEや他のフリーなライブラリをアプリケーション開発に活用するためのツール群である。 これに含まれるものとしては、GUI開発のためのGtk#、Geckoレンダリングエンジンを利用するためのMozillaライブラリ、 Unix統合ライブラリ、データベース接続ライブラリ、セキュリティスタック、XMLスキーマ言語RelaxNGなどがある。 Gtk#によって、MonoアプリケーションをGNOMEデスクトップにネイティブアプリケーションとして統合することができる。データベースライブラリはMySQL、SQLite、PostgreSQL、Firebird、Open Database Connectivity(ODBC)、Microsoft SQL Server(MSSQL)、Oracle、オブジェクトリレーショナルデータベースdb4oなど、多くのデータベースに接続することができる。 マイクロソフト互換スタックは、Windowsの.NETアプリケーションを他のオペレーティングシステムで利用するための機能を提供する。例えば、ADO.NET、ASP.NET、Windows.Formsなどの実装が含まれる。 外部リンク
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
This article is from Wikipedia. All text is available under the terms of the GNU Free Documentation License.
Mercedes Car
This site monitored by SitePinger.net