次の方法で共有


編集者のメモ

流行のテクノロジの周期的な移り変わり

Howard Dierking

howardd.ednote.gif

音楽やファッションと同じように、ソフトウェアの開発スタイル、パラダイム、アーキテクチャの流行も周期的に変わるようです。といっても誤解しないでください。周期が一回りすると元に戻って進歩がないという意味で言っているのではありません。それでも、不思議なことに、次世代のテクノロジは、いつも以前のテクノロジと少し似ているようです。このことについては、Raymond Chen 氏が、『The Old New Thing (古くて新しいモノ)』という書籍とブログで述べています。この周期が存在することを示す最近の事例として、プレゼンテーション層周辺のデザインの変化があります。

プレゼンテーション層の設計トレンドといえば、デスクトップと Web の間で劇的なパラダイムシフトが何度か繰り返されてきました。ご存じのとおり、Web は、登場した当時、アプリケーション開発の現実的なプラットフォームとして生き残っていくにはほど遠い代物でした。Web でできることといえば、静的なコンテンツ ページを作成することくらいで、高度なユーザー エクスペリエンスを実現するには、依然としてネイティブの Windows アプリケーションを使用するしかありませんでした (ここでは、ActiveX コントロールは故意に無視することにします)。ところが、Web サーバーの機能の向上に伴い、新しいサーバー サイド プログラミング モデルが登場しました。これにより、Web アプリケーションの機能が強化され、展開の簡単さも手伝って、"シック クライアント" と呼ばれていたデスクトップ アプリケーションから Web アプリケーションへの劇的なシフトが起こります。

.NET Framework (より具体的に言えば ASP.NET) が登場したことで、すべてを Web ベースのアプリケーションで実現する傾向に拍車がかかりました。そうした中で、.NET Framework が次々にバージョンアップされ、"ワンクリック" 展開と呼ばれる新しい機能が導入されます。ねらいは、デスクトップ アプリケーションを Web ページからシームレスにインストールおよび実行できるようにすることでした。これで、豊富な機能を備えたクライアント アプリケーションの高度なユーザー エクスペリエンスがすべて Web 上でサポートされ、しかも、Web アプリケーションのように簡単に展開できるようになるはずでした。展開の問題も解消され、デスクトップ アプリケーションの豊富な UI 機能を求めて逆方向のシフトが起こるかのように思われました。

ところが、このシフトは予想していたほど起こりませんでした。筆者は、その原因の一部は、次の 2 点にあると考えています。1 つには、クリッピング矩形などのメタファを使用する Windows アプリケーションの UI の開発は、HTML の階層的なコンテナ ベースのモデルとは大きく異なり、非常に複雑だったという点があります。もう 1 つの原因として、AJAX プログラミング (および AJAX プログラミングを簡素化するさまざまなサポート ライブラリ) の登場により、デスクトップ アプリケーションに匹敵するレベルに Web アプリケーションのユーザー エクスペリエンスが向上したことが挙げられます。

Web アプリケーションでの AJAX の利用が拡大すると、デスクトップでもパラダイム シフトが急ピッチで始まります。デスクトップ アプリケーションは、Windows Presentation Foundation が提供するプログラミング モデルを目指すようになりました。Windows Presentation Foundation とは、Web アプリケーションで採用されているパラダイムの大部分を取り込んだフレームワークのことで、その最も重要なパラダイムの 1 つとしてコンポジション (合成) があります。Silverlight の登場により、単に同じパラダイムを使用するだけでなく、実質的に同じテクノロジを使用して、Web アプリケーションを構築できるようになりました。

これまでのこうした経緯を眺めてみると、次の 2 つのことが言えます。まず、Web アプリケーションとデスクトップという 2 つのパラダイムは、お互いに良いところを吸収し合うことで、進歩を遂げてきたという点が挙げられます。結果として、より強力なレンダリング プラットフォームが実現されただけでなく、非常に好ましいことが起こりました。つまり、デスクトップ上または Web 上で UI を開発するためのパラダイムが統一されたのです。そして、このことが次の変化につながります。プレゼンテーション パターン、および階層アーキテクチャを作成するためのより汎用的な手法の両方で生まれたベスト プラクティスを、デスクトップと Web アプリケーションの両方に適用できるようになったのです。

ここで、アーキテクチャの話に関連して、お知らせがあります。このたび、MSDN Magazine と TechNet Magazine の発行チームに、Diego Dagum と The Architecture Journal が参加することになりました。これで、われわれのチームには、開発者、IT プロフェッショナルに、アーキテクトが加わり、テクノロジの応用に関して、この 3 者の観点から情報を提供できるようになりました。各誌間で連携を深めていくつもりですのでご期待ください。

開発トレンドの周期的な変化によって、パワー バラードやパラシュート パンツのような昔のモノが復活するわけではありませんが、こうした周期的な変化によって過去に使用されていたパターンやテクノロジが浮上し、現在のテクノロジとの統合が行われ、次のサイクルへとつながる新しいテクノロジが生まれていくのです。

msdn.microsoft.com/magazine をご覧ください。MSDN Magazine に関するご質問、ご意見、ご提案は、編集者までお送りください (mmeditor@microsoft.com)。

**今月号の記事の執筆に携わったマイクロソフトの技術部門の次の専門家に感謝します。**Adrian Bateman、Sam Bent、Laurent Bugnion、Matt Ellis、Mike Fourie、Steve Fox、Don Funk、Alex Gorev、Aaron Hallberg、Luke Hoban、Robert Horvick、John Hrvatin、Bret Humphrey、Katy King、Brian Kretzler、Bertrand LeRoy、Dan Moseley、Stephen Powell、および Delian Tchoparinov。