BT

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

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース XMLはUI開発の将来像か?

XMLはUI開発の将来像か?

もしくはJavaScriptだろうか?新しいデスクトップUIフレームワーク内で一般的なトレンドは、JavaScriptに対する何らかのサポートを添えたXMLベースのものである。AJAX、WPF/XAML、Flex/MXML、そしてFirefoxの最新バージョンGran Paradisoについて簡単に見ていくことにしよう。

まず最初に取り上げるのは、Web2.0の大流行の広告塔として生み出されたAJAXである。本質的に、既存のHTMLとJavaScriptの技術に大きく左右する新しいテクニックで、HTMLとともに使わない理由はほとんどない。現在はデスクトップアプリケーション開発には適していないが、次なる未来へのステージは整えられている。

Microsoftは、Extensible Application Markup Language (XAML)と呼ばれる新しいXMLベースの言語に大きく賭けている。伝統的なWindows開発者に対しては、Windows Presentation Foundation (WPF)を通して利用される。WPFは、ある言語(XAML)が表示のために使われ、もう一方の言語(C#、VB)がコード・ビハインドファイル内でイベントハンドリングのために使用されるという点で、ASP.NETによく似ている。

技術的な違いとしては、XAMLはユーザインターフェースデザインの開発サイクルが大きく違う。ユーザインターフェースのスペシャリストとグラフィックアーティストは、Expression BlendZAM 3DなどのXAMLエディターを使用してユーザインターフェースを作成することができ、その後Visual Studioを使う開発者にそのファイルを渡す。理論的には、もはや開発者はVisioやPhotoshopで作られた、非インタラクティブなスクリーンショットで作業する必要がなくなるだろう。ASP.NETの成功度合いとあわせて考えると、その効果には疑問の余地があるが、すくなくとも可能性は存在する。

XAML の物語はここで終わりではない。Microsoftは、Windows Presentation Foundation/Everywhere(WPF/E)によるクロスプラットフォームのサポートを行うことを約束している。このプロダクトは、 Common Language Rundime(CLR)の最新バージョンにおいて、JavaScriptを手続き型のイベントハンドリング言語とすろところから始まっている。これは、Flash/Flexのようなブラウザ上で動くフレームワークに対する直接の競合になり得る。

XAMLテクノロジーについて一つ注意しておきたいのは、その完成形にはまだデザイナーが実際には存在していないということである。Expression Blendは現在リリース候補という状態であるし、Visual StudioはVS Orcasが今年後半にベータを出すまではCTP(コミュニティー技術プレビュー)以上の何物でもない。

次に取り上げるのはMXMLである。これはAdobe Flexで用いられているXMLベースのプレゼンテーション言語である。JavaScriptの派生であるActionScriptと併せて、本来は Macromediaにより2004年にリリースされたものである。数年たってツールのサポートも進んだが、今だブラウザとFlashプレイヤーに束縛されている。Adobe LabsはApolloプロジェクトにより、その状態を変えようとしている。Apolloプロジェクトのゴールは、Flexをブラウザから解放し、スタンドアローンのデスクトップアプリケーションとして動作させる、クラスプラットフォームの実行環境を作成することである。本質的にはJavaの戦略のパクリであり、Microsoftのリビングルーム内で戦いを仕掛けようとしている。そしてそのすぐれたUI能力で、Apolloはきっとうまくやることだろう。

最後に、Firefoxから新しい贈り物がある。Gran Paradisoである。Microsoftのように新しい言語を作ってWebに乗せるのとも、Adobeのように新しい実行環境を作ってWebから降りてくるのとも違い、 Firefoxチームは彼らがすでに持っている物に留まる。Gran Paradisoは、AJAX、HTMLとJavaScriptを使い、ブラウザ内で動く、今までと同様の基盤テクノロジーを使用する。違いは、DOM ストレージ、オフライン実行、そしてWebアプリケーションを部分的、もしくは完全にネットワークから切り離されたモードで動かせるようにする同期モデルを計画しているところである。

特有のブラウザへの依存という問題が、Gran Paradisoにとって実に不利となるだろう。WPF/EやApolloを使用したクロスプラットフォームの実行環境を使用した場合、ユーザはそれについて何も考える必要がなくなることが期待できるのに対して、Firefoxはアプリケーション自身からスクリーンのスペースを取り上げてしまう、非常に目につく額縁である。そして、ユーザがInternet Explorer、Safari、Operaなどのほうが好みだった場合に、Firefoxを使わねばならないということに苛立ちを覚えることだろう。

新しいフレームワークすべてに共通しているテーマは、XMLとJavaScriptの一形態とのコンビネーションである。JavaScriptは次の偉大な言語 なのか、それとも単なる短命の異端なのだろうか?

(原文は2007年4月6日にリリースされた記事です)

この記事に星をつける

おすすめ度
スタイル

BT