薄れゆくプラットフォームの境界線

クロスプラットフォーム開発の拡大に伴い、プログラマは1つのプラットフォームに縛られないオープンソースのツールへ向かいつつある。Windows開発でさえ、オープンソースへ向かってゆっくりと動いている。Microsoftプラットフォーム向けのソフトウェアを開発するために、.Net開発者がMonoやPHPなどのツールに頼る場面が増えているのだ。

Race to Linuxのようなプロジェクトやイベントは、クロスプラットフォーム開発の拡大と、Linuxが開発の手段と目的の両方において目覚しく台頭していることを象徴する。北米のソフトウェア開発に関する最新の調査の中で、米Evans Dataは、クロスプラットフォームLinux開発への関心が拡大していることを示した。この調査によれば、Visual Studio .Net開発者の5人に1人はLinuxアプリケーションを書いた経験を持つ。また、アプリケーションを主にLinux向けに開発していると答えた開発者は2000年にはわずか2.8%だったが、2005年春と秋の調査では主にLinuxに取り組んでいる北米の開発者の割合はそれぞれ8.3%と8.8%に増加した。

「Linuxにはかなりの伸びが見られます。特に、市販の商用アプリケーションの開発の場である垂直市場で、それが顕著です」Evans Data COOのJohn Andrewsによると、ほとんどの開発者は2つから3つの開発手段やIDEを利用していて、多くはLinuxを開発経験を増やす機会と考えている。

「他に行き先があるでしょうか? 市場でのLinuxの牽引力は増す一方なので、開発者がLinuxに寄せる関心も高まる一方です。また、Microsoftに付き物のセキュリティなどの問題がLinuxへと人々を向かわせる、という面もあります」

クロスプラットフォーム開発の拡大は、Linux開発者には良いこと尽くしだが、.Net開発者の数は横ばいとなり、Unix開発者は数を減らすだろうと、Andrewsは指摘した。

Interarbor Solutions主席アナリストDana Gardnerは、ツールとオペレーティングシステム・プラットフォームが徐々に発展的に分離して、Monoのようなフレームワークに置き換わる動きがあると指摘する。「開発者の口からは『このツールを使うのはこのフレームワークに関連付けられているからで、プラットフォームについてはあまり気にしてません』という言葉が聴かれます」

Code Projectの創立者Chris Maunderは、Monoや、Grasshopperのようなクロスプラットフォーム・ツールが成熟するにつれて、クロスプラットフォーム開発がさらに伸びるだろうと予想する。ただし、C#などの.Net言語に切り替えて、開発プラットフォームの選択肢を手に入れる開発者が今後も増えるとも見ている。

それでも、Race to Linuxなどの活動を通じて、Windows開発者にLinuxを引き合わせたり、.Net開発をLinux開発者に引き合わせることができると、Maunderは期待している。「報酬に見合う能力のある開発者なら、誰でも複数の言語を使って複数のプラットフォームで開発した経験を持ちます。昔からの宗教戦争は休戦にして、今は前に進み、プログラマが利用できる驚異の最新テクノロジを楽しむべきです」

Microsoftへのしっぺ返し

SQL Serverなどの一部の開発プラットフォームのコストが、クロスプラットフォーム開発や代替プラットフォーム開発の成長を後押ししていると、Maunderは指摘する。これには、Microsoftへの反感が拍車をかけている側面もある。

「Microsoftは、Visual StudioとSQL ServerにExpressバージョンをリリースして、.Net 2.0でソフトウェアを開発する作業の苦痛を緩和しようとがんばっています。ですが、ソフトウェア開発は、ちょっとした遊び心に訴えるものなのです。Linux用のツールが成熟してきたので、開発者は普段の開発環境の外までスキルを伸ばそうと思っています。あるいは、.NetアプリケーションをライバルのOS上で開発することで、Microsoftにしっぺ返しをするのが単に面白いというだけかもしれませんね」

ソース管理ツールベンダ米SourceGearのソフトウェア開発者Erik Sinkによると、同社はVaultソフトウェアの開発という「非常にWindows中心のパス」からスタートしたが、最近になってJava、Linux、Macintosh向けにツールを開発するようになった。

「弊社はソース管理ツールを販売していますが、クロスプラットフォームのサポートはソース管理ツールにとって通過点の1つです」と、彼は言う。Linuxサポートを希望するクライアントへの販売は、もしそのサポートが「部屋の隅でLinuxマシンの前に座っている1人」に限定されるとしたら、成立しないだろうと彼は説明する。

「基本的には、弊社が提供するのは迂回策です。クロスプラットフォームは、事業戦略の柱ではありません。実際には、LinuxでもMacでも稼働します。そのための手段は用意します。Mac OS やLinuxの利用者が楽しんで使っているわけではありませんが、将来はそうなるといいですね」

クロスプラットフォームの作業は、他のプラットフォームやEclipse(Vaultの移植を推進中)などの開発コミュニティが盛んになるにつれて、ますます重要性を増していると、Sinkは語る。

「両方[Mac OSとLinux]とも伸びています。衰えているなどとは思いませんね」

障害となるもの ─ 主としてコストの追加とクロスプラットフォーム開発の難しさ ─ があることは認めつつ、市場からの要求により、同社の戦略に占める役割は大きくなるだろうと、彼は予測する。

「ITマネージャとして見ると、開発コストは本当に増加します。開発者として見ると、クロスプラットフォーム開発はハードです。複数のプラットフォームで動作するものを書こうと努力しても、1つのプラットフォームしか使わない顧客には何もメリットを提供できないのですから。擁護するのが難しい見返りです」

米FormScapeの上級Linux開発者Gary Galeは、これと同じような警告を発する。同社の大企業向け文書管理ソフトウェアCovusの150万行にのぼるWindowsコードをSolaris、AIX、Linux向けに移行する作業で、開発者の最初の仕事になったのは、異種プラットフォームを徹底的に調査して、詳細な要件を洗い出すことだった。

「コードを最初から最後までチェックして、問題になりそうな場所を特定する必要がありました。オペレーティングシステムに依存する箇所を見分けなければなりません。オペレーティングシステムのことなどわかるわけがない、とは言っていられないのです」

しかし、Galeはこう付け加えた。クロスプラットフォーム開発は途方もない難事業になる可能性はあるが、全般的な開発プロセスは改良される方向にあり、あるプラットフォームで苦労を経験したチームは、別のプラットフォームではもっと楽にソリューションを実現できる、と。

「すべての環境について驚くほど発想が鍛えられます。適切なコーディング手順の重要性が実感されようになります。心に平穏が訪れます。コードが明快になります」

開発者は「Javaや.Netのような大食らいのプラットフォーム」よりもPHPのようなシンプルで単刀直入な開発スキーマや言語を好むと、InterarborのGardnerは言う。どのような単独のプラットフォームよりも、クロスプラットフォーム開発のトレンドはWeb開発に味方し、主流のオープンソース・プラットフォーム、環境、コミュニティ(Eclipseなど)で書かれるスクリプトは増えている。Unix開発からLinux開発へ向かう自然の移行は従来から変わらないが、オープンソースのツールとプラットフォームがWindowsサーバ開発に利用されることも増加の一途をたどっている。

「Windows開発環境と、Windowsサービスを利用しながらもWindowsに完全には依存しないオープンソースやアプリケーションを組み合わせて使おうとする動きが増えています」

.Net開発者が増え、オープンソース開発者が増えるほど、コードは良くなる

クロスプラットフォームの.Net開発は.Netコミュニティに力を与え、必ずしもVisual Studio開発者の減少とLinux開発者の増加にはつながらないと、Code ProjectのMaunderは言う。

「どちらかといえば、Visual Studio開発者を増やすだろうと思いますね。Linux開発者は使い慣れたツールと環境を利用して.Netプラットフォームをターゲットにできます。Visual Studioは、現在でも間違いなく.Netを開発する最強のツールですから、.Netでの作業を楽しむLinux開発者がVisual Studio .NetとVisual Studio 2005の新機能に魅力を感じても不思議はありません」

FormScapeのGaleは、支配的なプラットフォームになるとは予想しないものの、Linuxとオープンソース・ソフトウェアが、開発者全般と共に、コーディングの多様化から利益を得る立場にあると見る。

「ますます一般化し、ビジネスの一部となることが増える傾向にあると思います。既に現実のものになっていますし、さらに進む一方でしょう。特にオープンソースは、市場に進出する原動力となり、Linuxが利益を得ることになるでしょう」

原文