XUL拡張子.xul
MIMEタイプapplication/vnd.mozilla.xul+xml
開発者Mozilla Foundation
派生元XML
ウェブサイトdeveloper.mozilla.org/en-US/docs/Archive/Mozilla/XUL
XUL(ズール、XML User Interface Language)はMozilla FirefoxやMozilla ThunderbirdなどのMozillaアプリケーションを作成するためのユーザインタフェースマークアップ言語である。UIMLのようなXMLアプリケーションの一つであり、ユーザインタフェースを記述するための言語である。
XUL自体は標準とはなっていないが、CSS、JavaScript、DOM、DTD、RDF等の既存の標準技術を多く利用しているため、すでにこれらの技術に親しんでいるプログラマやデザイナにとっては比較的習得しやすい言語となっている。 XULによるインタフェースは3つの別個に独立したコンポーネントのグループによって記述される。 XULの持つ最も大きな利点は単純でポータブルなウィジェットの記述が可能であることである。これは第四世代言語 (4GL) がソフトウェア開発の場で果たしたのとよく似た労力の削減に繋がっている。 XULの仕様はたくさんの種類の要素を規定している。これらは大まかに以下のように分類できる。 XULの記述の中にXHTMLやMathMLのような別のXMLアプリケーションによる要素を含めることも可能となっている。 一般的なウィジェットの中でもたとえばスピンボックス、スライダー、キャンバスなどは現在のXULの仕様では使用できないがこれらはXUL 2.0での検討課題に含められている[1] XULは主にMozillaやFirefox本体やこれらの拡張のために使われているが、HTTPで転送されるウェブアプリケーションに使うこともできる。例えば、XULアプリケーションとしてMozilla Amazon Browserという、Amazon.comで本を探すためのリッチクライアントソフトにも使われている。しかしながら、Mozillaの強力な特徴であるXPCOMオブジェクトを使う権限は、セキュリティの観点から、リモートのXULドキュメントには与えられない(署名がされていない限り権限が与えられない)。また他の制限もあり、例えば他ドメインの外部のXULやDTDやRDFドキュメントを読み込むことができない。 THERE IS NO DATA. XULという名前は映画『ゴーストバスターズ』に由来する。映画にて古代シュメール人の女神ズール (Zuul) の亡霊は、シガニー・ウィーバー演ずるデーナ・バレット (Dana Barrett) に憑依し、「There is no Dana, only Zuul(デーナはいない。ズールしかいない)」と宣言している。XULでは、本来文書やデータの構造などを記述するための言語であるマークアップ言語(を創るための仕様であるXML)をインタフェースを定義するために利用していることから、XULの開発者は映画のセリフをもじって「There is no data, only XUL(データはない。XULしかない)」というスローガンを掲げている。そしてこれはXULアプリケーションでXML名前空間の宣言記述に用いられるURI:https://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul
概要
Content(コンテント)
ユーザインタフェースのレイアウトを規定するXUL本文。
Skin(スキン)
アプリケーションの視覚的な表現を行うためのCSSや画像。
Locale(ロケール)
ソフトウェアのローカライズを容易にするための実体テキストを記述するDTD。
XULのエレメント(要素)
トップレベル要素
ウィンドウ、ページ、ダイアログ、ウィザードなど
ウィジェット
ラベル、ボタン、テキストボックス、リストボックス(コンボボックス)、ラジオボタン、チェックボックス、ツリー、メニュー、ツールバー、グループボックス、タブ、カラーピッカー、スペーサー、スプリッターなど
ボックスモデル
ボックス、グリッド、スタック、デッキなど
イベントとスクリプト
スクリプト、コマンド、キーボード、ブロードキャスター、オブザーバなど
データソース
テンプレート、ルールなど
その他
オーバーレイ(クライアントサイドで行われるServer Side Includes)、インラインフレーム、ブラウザ、エディタなど
使い方
映画との関連
THERE IS ONLY XUL
"keymaster" や "gatekeeper" も同作品のシナリオに由来する。『ゴーストバスターズ』からのもじりはMozillaの他のプロダクトでも見られ、例えばJavaScriptにはVenkmanというデバッガコンポーネントがあるが、これは同作品の主人公の1人、ピーター・ヴェンクマン博士に由来する。
関連項目
XULRunner
レイアウトマネージャ
Extensible Application Markup Language(XAML)
外部リンク
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
Firefox
種類
Mozilla Firefox
Firefox for Mobile
Firefox Focus
技術
レンダリングエンジン
Gecko
フレームワーク
Add-on(拡張機能)
Rust
Necko
XBL
XPCOM
XPConnect
XPInstall
XUL
XULRunner
コンポーネント
Servo
WebRender
Application Object Model
Composer
NSPR
NSS
Rhino
SpiderMonkey
Tamarin
Venkman
系統
Mozilla Application Suite
Netscape Navigator
Netscape Communicator
Netscape Communications
Abrowser
BurningDog
Flock
Gnuzilla
IceCat
Iceweasel
Miro
Netscape 9
Portable
Songbird
Swiftfox
Swiftweasel
XeroBank
SeaMonkey
Pale Moon
Waterfox
その他
Bespin
Bonsai
Bugzilla
Jetpack
Raindrop
Thunderbird
Mozilla VPN
Tinderbox
Ubiquity
開発終了
Camino
ChatZilla
Firefox Send
Firefox Test Pilot
Lightning
Minimo
Calendar Project
Grendel
Penelope
Prism
Sunbird