BT

.Net から Mono への稼動コード移行

| 作者: Jeff Martin フォローする 16 人のフォロワー , 翻訳者 吉田 英人 フォローする 0 人のフォロワー 投稿日 2011年11月15日. 推定読書時間: 2 分 |

原文(投稿日:2011/11/10)へのリンク

 

レガシーアプリケーションのコードベースは,開発者にとって,時間とコストの投資に対する価値ある成果と言えるものだ。理想的には,プラットフォーム対応の接合コードを使えば既存のコードが簡単に結合できて,迅速なターンアラウンドが実現され,当初行った投資を活用できる。しかし現実には,そのようなターゲット変更がいつも簡単に実施できるとは限らない。だから Patrick Smacchia 氏による先日の記事 “.Net から Mono へのマイグレーションへの現実的フィードバック (Real world feedback on a .Net to Mono migration)” は,.Net コードを Mono プラットフォームに移行した氏の経験に基づく,貴重な報告であると言える。

Smacchia 氏は,オリジナル製品の NDepend – .Net プラットフォーム向けに開発されている – から, Windows と Linux 両方の Mono 上で動作するように設計された新製品 JavaDepend を開発するための移行作業に関して,自身の会社が行った最近の取り組みについて説明している。氏はその結果を概ね成功と判断し,Mono プラットフォームの使用が,既存のコードベースの 90% 再利用を実現するために貢献した,と評価している。

特にいくつかの機能は,プラットフォーム移行を容易にするのに有効だった。Mono マイグレーションアナライザ (MoMA/Mono Migration Analyzer) は,プラットフォーム特有のコードと,Mono ではサポートされていない .Net 機能を使用したコードとを検出するツールである。ホームページにも説明があるように,このマイグレーションアナライザは誤った検出を行う場合があると同時に,すべての潜在的問題を検出できる訳ではないが,しかし Smacchia 氏は MoMA のパフォーマンスに満足している。MoMA で認識されているもっとも大きな問題領域は,NDepend が使用していたサードパーティ GUI ライブラリに関連するものだった。Windows と Linux の2バージョンの GUI の,別々のトラックでのメンテナンス作業を余儀なくされる代わりに,開発者たちはラッパクラスを利用して,プロプライエタリな GUI コードを標準 .Net コンポーネントにマップする方法を選択した。

Smacchia 氏は Mono の GDI+ サポートを高く評価して,"Mono の GDI++ 実装はいい仕事をした ! ブラボー! Mono チームはまさしく賞賛に値する ...",と強く言っている。最後に,Mono 下で不安定な動作をする Windows Form コンポーネントが2つ (DataGridView/ListView と RichTextBox) ある。ただし Mono プロジェクトはオープンソースであるので,この問題に対応するために必要な修正を,オフィシャルな Mono リリースに頼らず独自に行うことは可能だ。

 

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT