.NET プラットフォームの分岐問題
長い間,.NET のプラットフォーム依存問題を理解するのはやたすいことだった。使用されているほぼすべてのものが,.NET Compact Edition または完全版のいずれかに対する互換性を持っていたからだ。利用者のほとんどいない .NET Micro を除けば,気にかかるようなものは何もなかった。ところが現在では 12 以上のアクティブなフレームワークが選択肢として存在するため,状況がかなり複雑になってきた。
長い間,.NET のプラットフォーム依存問題を理解するのはやたすいことだった。使用されているほぼすべてのものが,.NET Compact Edition または完全版のいずれかに対する互換性を持っていたからだ。利用者のほとんどいない .NET Micro を除けば,気にかかるようなものは何もなかった。ところが現在では 12 以上のアクティブなフレームワークが選択肢として存在するため,状況がかなり複雑になってきた。
Microsoft はオープンソースの .NET 用パッケージマネージャ NuPack CTP 1 をリリースした。.NET には OpenWrap という別のパッケージマネージャがあって共通点が多いが,違いもいくつかある。そして CoApp は,更新機能に加えて C,C++,.NET,PHP,Python,Perl など複数の言語サポートを特徴とする Windows 用のパッケージマネージャだ。
パッケージマネージャは,さまざまな場所から依存パッケージを寄せ集める必要のある Linux の世界では広く知られた存在である。しかし .NET 開発者には,本当の意味で相当するものが存在しない。Microsoft が提供するコンポーネントに固執したところで,そのライブラリは Microsoft の数多くの Web サイトのみならず,SourceForge などの独立サイトにまでも散らばっている。OpenWrap は,この問題に対応するための新しいプロジェクトだ。
The Common Opensource Application Publishing Platform (CoApp)は、LinuxやMac OSなど、他のプラットフォーム上のオープンソースプロジェクトのように、コンパイル、ビルド、配置の機能を提供するWindows向けのパッケージ管理システムを提供する予定である。通常はLinux、Mac OSなどの異なるプラットフォーム上で開発されるオープンソースプロジェクトである。
ライブラリと依存関係を管理するのはうんざりする作業だ。Clojarsは Clojureライブラリのための新しいリポジトリで、Ruby GemsとGemcutterに発想を得ている。新しいビルドツールであるLeiningenと一緒にClojarsを使えば、ライブラリ管理の苦痛から解放されるだろう。InfoQはこのClojarsについてAlex Osborne氏に話を聞いた。
.NETのランタイムは当初から、アセンブリの集合を基にしたパッキングを正式に備えていた。これは、管理の煩雑なスクリプトファイルやクラスファイルの集まりよりは遥かに便利だ。しかし、静的にリンクした実行可能ファイルやJARファイルと同じほど使いやすくはない。Vasian Cepa氏の.NETZを使えば、開発者は.NETのアセンブリを圧縮し単一の実行可能ファイルにパックすることができる。
RipはRubyの新しいパッケージ管理システムである。なぜ新しいパッケージ管理システムなのか?さらに詳しいことを知るため、GitHubのRip開発者 Chris Wanstrath氏に話を聞いた
DebGemは、Pgusionによる新しいサービスである。Ruby GemsをDebianベースのLinux分散に適切に統合する。PhusionのHongli Lai氏およびNinh Bui氏に、そのプロジェクトについて詳しく聞いた。
このほど、GitHubがgemのパブリッシュを快適に行える独自のRubyGemsサーバの運営を開始した。自分のレポジトリーのルートにgemspecを置き、GitHubコンフィギュレーションのボックスをチェックするだけでgemがビルドされ、他の人たちにインストールしてもらえるようになる。