SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

japan.internet.com翻訳記事

Mono 2.0がDebian GNU/Linuxのために提供するもの

ライブラリアセンブリのMonoコレクション

 ここでは、Monoが.NETプログラムの実行用に提供するライブラリを詳しく説明します。

Base Class Library(BCL)とそれ以上のもの

 BCLとは、.NET Frameworkの標準ライブラリを構成する一群のDLLに付けられた名前です。これらのライブラリアセンブリはバインドメカニズムによってすべての言語で使用できます。MonoはBCLを実装しており、これはDebianパッケージlibmono-system2.0-cilでインストールできます。このパッケージでは、BCL、JIT、Mono Security Libraryの間の接着剤となるMono Core Library(mscorlib.dll)もインストールされます。

 Monoはプログラムで必要なライブラリアセンブリをどこで探すのでしょうか。まず現在のディレクトリを探し、それからMONO_PATH環境変数で指定されているディレクトリを探します。そして最後の手段としてGlobal Access Cache(GAC)を探します。GACはライブラリアセンブリの中央リポジトリであり、「DLL地獄」と呼ばれる昔からのMicrosoft問題を解決するように設計されています。この機能によって、開発者は名前が同じでバージョン番号が異なるライブラリを保持することができます。GACは主として開発チーム用のツールであり、その主な目的はユーザーたちがアセンブリを共有できるようにすることです。

 GACはアセンブリの厳密名(strong name)という概念を導入し、引き続きサポートしています。厳密名は単純ファイル名、バージョン番号、カルチャ(オプション)、および公開キーから成ります。Debianパッケージmono-gacはgacutilコマンドラインユーティリティをインストールします。gacutilは.NETのhomonymコマンドのすべての機能を模倣します。

GTK#とWindows Forms

 おそらくMonoプログラムにはGUIが必要になるでしょうし、リッチで効果的なユーザーインターフェイスを実装するにはグラフィックフレームワークが必要です。Monoにはオプションがいくつもありますが、ベストなのはGTK#です。これはGNOMEプロジェクトの基礎になっているGTK+GUIライブラリのMonoバインディングです。

 Debianでは、GTK#プログラムのコンパイルに必要なすべてのパッケージがgtk-sharp2というメタパッケージに含まれています。/usr/share/gtk-sharp2-examplesディレクトリには興味深い例もいくつか入っています。Mono for Windowsインストールセットアップでは、すべてのGTK#ライブラリアセンブリもインストールされ、GTK#プログラムがWindowsで動作するように完全な互換性が確保されます。

Windows Forms

 Monoチームは.NET Windows Formsライブラリアセンブリの実装を妨げていた障害物のほとんどを除去しました。それらのインストールにはパッケージlibmono-winforms2.0-cilを使用します。Windows Formsプログラムをコンパイルするときは、-pkg:dotnetオプションを必ず使用してください。

Web開発とASP.NET

 パッケージlibmono-system-web2.0-cilを使用すると、ASP.NETでプログラムすることができます。その場合、ASP.NETアプリケーションを実行するための選択肢が2つあります。1つはApacheで、こちらはmono-server-apacheをインストールします。もう1つはxspという軽量Webサーバーで、こちらはmono-xspをインストールします。

データベースプログラミング

 MonoはADO.NET Frameworkとこのフレームワークでのデータベースへの接続もサポートしています。とりわけ、libmono2.0-cilパッケージのMono.Data.dllはProvider Factory and Data Tools for Mono ADO.NETを提供します。MonoはADO.NET Frameworkを使ってオープンソースデータベースとやりとりすることができます。たとえば、MySQL ABのMySQL Connector/NetはMySQL用として推奨される.NETとMonoのデータプロバイダです。

次のページ
新しいC#機能を備えたMono 2.2

この記事は参考になりましたか?

japan.internet.com翻訳記事連載記事一覧

もっと読む

この記事の著者

japan.internet.com(ジャパンインターネットコム)

japan.internet.com は、1999年9月にオープンした、日本初のネットビジネス専門ニュースサイト。月間2億以上のページビューを誇る米国 Jupitermedia Corporation (Nasdaq: JUPM) のニュースサイト internet.comEarthWeb.com からの最新記事を日本語に翻訳して掲載するとともに、日本独自のネットビジネス関連記事やレポートを配信。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

Roberto Giorgetti(Roberto Giorgetti)

イタリアに拠点を置くITマネージャ、テクニカルライター。主にビジネス分野と工業分野でオープンソースの開発に従事。核工学の学位を持つ。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/3586 2009/03/11 14:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー