XUL

XUL(XML User Interface Language)とは



XUL(ズール)は、Mozilla FirefoxやThunderbirdといったMozillaアプリケーションのユーザーインターフェース(UI)を構築するために開発された、XMLをベースとしたマークアップ言語です。UIML(User Interface Markup Language)と同様に、XMLアプリケーションの一種であり、主にUIの構造や要素を定義するために利用されます。

XULの大きな特徴は、既存の標準技術であるCSS、JavaScript、DOM、DTD、RDFなどを多く採用している点です。そのため、これらの技術に慣れ親しんでいるプログラマーやデザイナーにとっては、比較的容易に習得できる言語となっています。

XULの構成要素



XULによるインターフェースは、以下の3つの主要なコンポーネントで構成されています。

1. Content (コンテント): ユーザーインターフェースのレイアウトを定義するXULコード自体です。要素の配置や構造を記述します。
2. Skin (スキン): アプリケーションの視覚的な表現を定義する部分です。CSSや画像などを使って、外観やスタイルを調整します。
3. Locale (ロケール): ソフトウェアのローカライズを容易にするためのテキストデータが含まれる部分です。DTDファイルに定義されたテキスト実体を参照することで、多言語対応を実現します。

XULの最大の利点は、シンプルで移植性の高いウィジェットを記述できる点です。これにより、第四世代言語(4GL)がソフトウェア開発にもたらしたのと同様に、開発工数の大幅な削減に貢献します。

XULの要素



XULの仕様では、多種多様な要素が定義されており、これらは以下のカテゴリに分類できます。

トップレベル要素: ウィンドウ、ページ、ダイアログ、ウィザードなど、アプリケーションの主要な構成要素を定義します。
ウィジェット: ラベル、ボタン、テキストボックス、リストボックス(コンボボックス)、ラジオボタン、チェックボックス、ツリー、メニュー、ツールバー、グループボックス、タブ、カラーピッカー、スペーサー、スプリッターなど、ユーザーが操作するUI部品を定義します。
ボックスモデル: ボックス、グリッド、スタック、デッキなど、要素の配置やレイアウトを制御するための要素を定義します。
イベントとスクリプト: スクリプト、コマンド、キーボード、ブロードキャスター、オブザーバなど、イベント処理やスクリプトの実行を制御するための要素を定義します。
データソース: テンプレート、ルールなど、データの取得や操作を制御するための要素を定義します。
その他: オーバーレイ(クライアントサイドで行われるServer Side Includes)、インラインフレーム、ブラウザ、エディタなど、特定の機能を提供する要素を定義します。

XULでは、XHTMLやMathMLといった他のXMLアプリケーションの要素を記述内に含めることも可能です。これにより、表現力の高いUIを構築できます。ただし、スピンボックス、スライダー、キャンバスといった一部のウィジェットは、現在のXUL仕様では利用できません。これらのウィジェットは、XUL 2.0での検討課題となっています。

XULの使い方



XULは、主にMozilla FirefoxやThunderbird本体、およびこれらの拡張機能の開発に利用されています。また、HTTP経由で配信されるWebアプリケーションにも使用できます。例えば、「Mozilla Amazon Browser」は、Amazon.comで書籍を検索するためのリッチクライアントアプリケーションとして、XULを用いて開発されました。しかし、リモートのXULドキュメント(署名されていない場合)には、Mozillaの強力な機能であるXPCOMオブジェクトを使用する権限は付与されません。また、外部ドメインのXUL、DTD、RDFドキュメントを読み込むことができないといった制限も存在します。

映画との関連



実は、「XUL」という名前は、映画『ゴーストバスターズ』に登場する古代シュメールの女神「ズール(Zuul)」に由来しています。映画の中でズールの亡霊がシガニー・ウィーバー演じるデーナ・バレットに憑依した際に、「There is no Dana, only Zuul.(デーナはいない、ズールしかいない)」というセリフを吐きます。

XULの開発者は、マークアップ言語であるXMLをUI定義に利用するという発想から、このセリフをもじって「There is no data, only XUL.(データはない、XULしかない)」というスローガンを掲げました。このスローガンは、XULアプリケーションでXML名前空間の宣言に用いられるURI(https://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul)にも記述されており、このアドレスをXUL対応のアプリケーションで開くと、画面中央に大きく表示されます。「keymaster」や「gatekeeper」も、映画『ゴーストバスターズ』のシナリオに由来します。この映画からの引用は、Mozillaの他のプロジェクトでも見られ、例えば、JavaScriptには「Venkman」というデバッガーコンポーネントがありますが、これは映画の主人公の一人であるピーター・ヴェンクマン博士にちなんで名付けられました。

関連項目



XULRunner
レイアウトマネージャ
Extensible Application Markup Language(XAML)

外部リンク



Mozilla/Tech/XUL'>Mozilla XUL - Mozilla.orgのXUL公式ホームページ(英文)
Xul Runner - An attempt to run XUL applications in a light-weight container.
XUL Wiki - XULアプリケーションや拡張機能開発関係に関する日本語の情報
* Xul and Xul Dev project

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。