Google vs Microsoft---今,ソフトウエアの世界で誰もが興味をもっている関心事でしょう。

 ソフトウエア業界の覇者であるMicrosoftに,検索エンジンの覇者Googleが牙をむく(そしていずれはGoogleがMicrosoftを圧倒する)というシナリオはとても興味深く,ネット上のニュース・コラムやブログを中心に頻繁に取り上げられ,様々な人々が議論しています。

 GoogleもMicrosoftも自分には関係ないよ,という方もいらっしゃるでしょうが,ソフトウエア業界の覇権争いは,大なり小なり現場のソフト開発者の皆さんの仕事に影響を与えます。GoogleとMicrosoftを,それぞれWebとWindowsに置き換えてみてください。WebとWindowsという“二つのW”の戦いは,ソフト開発の様々なキーテクノロジーに関係していることが想像できるでしょう。

 では2006年,“二つのW”の戦いにおいて,ソフト開発はどんなことが話題の中心になっていくのでしょうか。私は二つの技術に注目しています。

 まず一つ目は,ユーザー・インタフェース(UI)技術です。

 WebアプリケーションとWindowsアプリケーションには,様々な違いがあります。中でもこれまでWindowsアプリケーションのアドバンテージと考えられてきたのが,操作性つまりUIでした。しかし近年,Web開発で脚光を浴びているリッチ・クライアント技術---古くはFlash,昨年で言えばAjax(Asynchronous JavaScript + XML)などの登場によって,Windowsの優位性は絶対とは言えなくなってきています。

 特に要注目はAjaxです。Google MapなどのAjaxの実例を見て,多くのソフト開発者が,デスクトップ・アプリケーションとそん色のないUIをWeb上で実現できるAjax手法に衝撃を受けました。Microsoft自身もそうだったようで,Windows LiveでAjaxを大々的に採用したほか,Atlas(開発コード名)というAjax向けツールの開発に着手しています。

 今年はこの傾向に拍車がかかり,AjaxベースのWebアプリケーションやAjax開発支援ツールなどが他のベンダーやオープンソース・ソフトとして,続々と出てくるでしょう。さらに,JavaScriptベースの古い技術の組み合わせであるAjaxの課題を解決し,より洗練された第2,第3のAjaxライクなUI改良技術も出てくると私は予想しています。

 UI改良の事例が増えてくると,それに刺激されてWebのUIやデザインへ関心が高まることも予想されます。使いやすいUIとは何なのか。Webデザインはどうあるべきか。FlashやAjaxなどのリッチな技術や手法をどう活用すべきなのか。ケータイなどのデバイスでのUIはどうすべきか。そのときWebデザイナとプログラマがどう協力していけばいいのか…といった具合に議論が活性化し,UIに対する認識がガラリと変わるかもしれません。

 二つ目に注目したいのがフレームワークです。

 ここ数年Webアプリケーション開発は,Linux,Apache,MySQL,PHPといったオープンソース系の技術に支えられて発展してきました。特にエンタープライズ系では,Strutsなどオープン系のフレームワークを利用したJavaベースの開発が主流です。最近ですと,RubyベースのRuby on Railsといった新しいフレームワークが注目されるなど,様々なフレームワークが登場しています。

 しかし2006年で台風の目となるのは,Microsoftがここ数年提唱している.NET Framework(ドットネット・フレームワーク)ではないかと私は考えています。.NET Frameworkは特定のアプリケーション開発用モデルではなく汎用的な点が特徴で,そのコンセプトの一つに,Windowsアプリケーション開発もWebアプリケーション開発も,単一のフレームワークで包み込んでしまおうという考え方があります。この考え方が,ようやく今年,ソフト開発者に広く受け入れられていくのではないかと予想しています。

 生産性や開発スピードを要求される企業のソフト開発者にとって,WindowsアプリケーションとWebアプリケーションの差をあまり意識しないで済む.NET Frameworkは魅力的です。しかし,Windows XPでは.NET Frameworkのランタイム環境をインストールする必要があるなど課題があったほか,オープンソース系の技術の多様化もあり,多くの開発者やベンダーがオープンソース系に流れていました。

 その傾向に歯止めをかけようというのが,昨年末からリリースが始まった開発ツールVisual Studio 2005であり,次に予定されている開発ツールOrcas(開発コード),そして2006年中に出荷が予定されているWindows Vistaです。特にVistaは,.NET Framework技術の進化版であるWinFXをプログラミング・モデルとして採用し,ランタイムのインストールが不要など,これまでの課題を解決しています。

 Vistaは,最初からWinFX(.NET Framework)環境となるクライアントOSです。おそらく,Vistaの普及をにらんで,オープンソース系の技術を使わずに,WinFX(.NET Framework)を選ぶ開発者やベンダーが増えてくるでしょう。システム部門などユーザーからの要求もあるかもしれません。つまり2006年は,これまで以上に最適なフレームワークは何かという視点が重要になってくると思います。

 現場のソフト開発者の皆さんからすれば,どんなUIだろうがどんなフレームワークであろうが,ユーザーにとって最良のものを選択して開発しなければなりません。その意味で,今年は昨年以上に学習することが増え,ますます忙しくなるでしょう。

 くれぐれも身体を壊さず,健康に今年を乗り切り,“二つのW”あるいはGoogleとMicrosoftの戦いの行く末を,皆さん自身の目で確かめてください。