BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Monoはプロダクションで使う準備ができているか?

Monoはプロダクションで使う準備ができているか?

Q&AサイトStack Overflow(リンク)に投稿された質問に「Is Mono ready for prime time?(リンク)」(Monoはプライムタイムの準備ができているか?)という題がついていた。Monoプロジェクトの創始者Miguel de Icaza氏ほか、数人のユーザーが返答している。こうした回答はMono上にアプリケーションをデプロイする時機を評価する上で役に立つ。

de Icaza氏は回答の中で2つのシナリオを提案している。

a) 既存アプリケーションのポートを行っていて、Monoがこのタスクに十分使えるか知りたい場

b) 新規のコード記述を始めるにあたって、Monoが十分成熟しているか知りたい場合

a)のシナリオでは、Momaと呼ばれるMono Migration Analyzerツールを実行してみて、アプリケーションに問題がまったく無いか、ほとんど無い場合は、プロダクションに進むようde Icaza氏は提案している。氏は以下のようにMomaの分析統計値を提供している。

ユーザーからの申告に基づいたMomaの統計によると(記憶がたよりですが)、何の設定も無しに使えるアプリケーションはおよそ50%で、約25%のアプリケーションでは1週間相当の作業(リファクタリングや適応)が必要、15%では本腰を入れてコードし直す必要があり、残りは信じられないほどWin32との結びつきが強いため、ポートしようという試みさえするに及びません。その時点で、ゼロから出発するか、あるいはコードをポート可能にするよう取り組むというビジネス上の決定が下されるかもしれませんが、これは何ヵ月にも相当する作業を意味します(少なくとも手元にある報告によるとそうなります)。

de Icaza氏によると、新規プロジェクトを始める方がよほど簡単である。

ゼロから始めるなら、物事はいたって単純なります。なぜなら、Monoに用意されたAPIのみを使うことになるからです。サポートされているスタック(大体が.NET 2.0で、それにLINQとSystem.Coreなどの3.5のコアアップグレード全部と、Monoのクロス・プラットフォームAPI全部を足したもの)の範囲からはみ出さない限り、安泰です。

他のユーザーも、質問に対してそれぞれ意見を述べている。Jon Galloway氏は次のように書いている。
 

.NET 2.0の機能向けにはかなりいいです。.NET 3.xの機能は構築中ですが完全ではありません。
 

最近MoMAをSubSonic上で実行しましたが、見つかった問題はNullable型の奇妙な使用の1つだけでした。SubSonicは大きなコードベースなので、カバーしている範囲にはとても感心しました。

言語レベルに関していうと、MonoコンパイラはC# 3.0の言語仕様に完全準拠しています(リンク)
 

Jonathan Holland氏の見解はこうだ。

デスクトップの面では、GTK#以外を使用しなければ、Monoは万事順調に機能します。Windows.Formsの実装にはまだ多少のバグがありますが(たとえば、TrayIconは機能しません)、大いに成長を遂げています。それに、windows formsそのものよりも、GTK#の方がツールキットとして優れています。

Webの面を考えると、MonoによるASP.NETの実装は、ほとんどのサイトを完全動作させるには十分です。ここでの問題は、apacheにmod_monoをインストールしたホストを見つけること、あるいは、ホストへのシェルアクセスがあるなら、自身の手によってmod_monoをインストールすることです。

さらにもう1人のStack Overflowユーザー、Daniel氏は次のように指摘している。
 

WPFを使いたいと思っているなら、残念でしたね。MonoにWPFを実装する計画は、今のところありません。
http://www.mono-project.com/WPF

少なくとも新しいアプリケーションや、Momaの互換性テストにパスしたアプリケーションなら、Monoはプロダクションで使う準備ができているようだ。

原文はこちらです:http://www.infoq.com/news/2008/10/Mono-Production

この記事に星をつける

おすすめ度
スタイル

BT