BT

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

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース .NET/Monoのクロスプラットフォーム ライブラリ

.NET/Monoのクロスプラットフォーム ライブラリ

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

.NET/Monoエコシステムにおける プラットフォームの分岐問題 に取り組む試みとして、Microsoftは Portable Library Tools と呼ばれる拡張機能を開発中である。このツールによって、単一のコンパイルされたライブラリが .NET 4.0, Silverlight, Xbox 360, Windows Phone 7 で走る。Microsoftは MonoTouch とMonoDroidのサポートを追加しようとMonoに取り組んでいる。

新しい “portable class library” が完成したら、開発者はライブラリをどのフレームワークで走らせかを選ぶ必要がある。一旦選んでしまうと、選んだ全プラットフォームで共通に使えるAPIだけが使えるようになる。使用できる特定のクラスやメソッドのリストは Visual Studioの Object Browserで見ることができる。

Portable Library Toolkitではプロジェクトは通常のプラットフォーム固有のライブラリではなく、特別なセットのライブラリを参照する必要がある。プラットフォーム毎にサポートされるAPI のリストとAPIの変更 についてはMSDNに載っている。MonoDroid と MonoTouch APIが載ってないが、David M. Kean氏によると将来サポートされるという。

このツールは、全 .NET/Mono プラットフォームをサポートするわけではない。例えば、「.NET Compact ( Windows Phone & Xboxより前に) や .NET Microフレームワークへのサポートを追加する計画は無い」。標準.NETフレームワークの古いバージョンへのサポートもない。ランタイムに著しい変更を必要とするからである。

このツールの重大な制限は、選んだ全プラットフォームに共通のAPIに限られることである。ということは、コンパイラ定数を使って、各ターゲットプラットフォーム用に別々のDLLを作るような、フィーチャを選択できるオプションは無い、ということである。Microsoftはリフレクションや遅延バインディングを使って、追加のフィーチャを「活かす」ような機能を追加することを検討しているが、その計画は定かでない。

この記事に星をつける

おすすめ度
スタイル

BT