'( )是英文「'」(XML用户界面语言)的首字母縮寫。它是為支持系列的應用程式(如Mozilla Firefox和Mozilla Thunderbird)而開發的使用者界面標示語言。顧名思義,它是一種應用XML來描述使用者界面的標示語言。XUL被实现为一种XML的方言。它允许以类似写网页的方式编写图形用户界面。
設計
XUL是一个开放標準,它重用了許多現有的標準和技術,包括CSS、JavaScript、DTD和RDF等。所以對於有網絡編程和設計經驗的人士來說,學習XUL比學習其他使用者界面標示語言相對簡單。
使用XUL的主要好處在於它提供了一套簡易和跨平台的Widget定義。這節省了編程人員在開發軟件時所付出的努力。
XUL文件
一個XUL界面一般包含以下三個部份:
內容:定義使用者界面的XUL檔
Skin:定義程式外觀的CSS和圖像檔
Locale:定義界面字串的DTD檔(為了軟件本地化)
XUL元素
XUL定義了一套豐富的元素。它們大致上可分為以下幾種:
; 基層元素: 例如視窗、page、對話框、精靈
; Widget: 例如標籤、按鈕、文字方塊、條列式選單、組合方塊、選擇鈕、核取方塊、樹、選單、工具列、分组框、标签页、色彩選擇器、spacer、splitter
; 排版: 例如方框、網格、堆疊、疊
; 事件和腳本: 例如腳本、命令、key、broadcaster、observer
; 資料來源: 例如template、rule
; 其他: 例如overlay(類似SSI,但在客戶端運作,而且更為強大)、iframe、浏览器、编辑器
一個XUL文件中也可以包含其他XML命名空間的元素,例如XHTML、SVG和MathML。
現時的XUL還未在提供一些普遍的widget,例如spinbox、slider和canvas。[http://wiki.mozilla.org/wiki/XUL:Home_Page XUL 2.0計劃] 中將會包括這些缺乏的控件。
XUL應用
雖然XUL的設計原意是為了創作Mozilla程式及其擴充套件,但事實上人們也能利用它來編寫基於HTTP的網絡應用程式。基本安全性的原則,很多需要特權的XPCOM物件在無特權的XUL文件上都不能使用。唯有使用數碼簽署的腳本才享有此種特權。就算如此,這些文件亦受網頁瀏覽器的限制,例如不能載入遠端的XUL、DTD和RDF文件。
電影致敬
XUL讀作「zool」有向電影捉鬼敢死隊致敬之意。在捉鬼敢死隊中,有一名為「Zuul」的古代蘇美爾女神在支配住Dana Barrett的情況下說道:「There is no Dana, only Zuul」 。在開發XUL之前,XML通常都是用於記錄資料性文件,而非定義使用者界面。因此設計XUL的編程員們便想到以「There is no data, only XUL」作為標語。而「Keymaster」和「Gatekeeper」都是來自該個情節。另外,Mozilla的JavaScript除錯器——Venkman也是捉鬼敢死隊的其中一個角色。這可以見於XUL的XML命名空間。而在可以顯示XUL的應用程式上,利用該網頁就可以瀏覽到一個置中的、以大字型顯示的標語。
參見
- 可扩展用户界面协议(XUP)
- 用户界面标记语言
*
- Mozilla应用程序框架
- XBL
- XULRunner
- ZK
参考文献
外部链接
*[http://www.mozilla.org/projects/xul/ Mozilla XUL]
*[http://www.xulplanet.com XULPlanet]
*[http://www.hevanet.com/acorbin/xul/top.xul XUL Periodic Table]
*[https://web.archive.org/web/20060207014248/http://xulblog.de/xul/ XUL Weblog]
*[https://web.archive.org/web/20070707130622/http://www.faser.net/mab/ Mobile Amazon Browser]
*[http://www.xul.fr/en-xml-xul.html Xul and Xml-related formats]
评论 (0)