XUL
(/ˈzuːl/ ZOOL)是英文「」(XML用户界面语言)的首字母缩写。它是为支持系列的应用程序(如Mozilla Firefox和Mozilla Thunderbird)而开发的用户界面标示语言。顾名思义,它是一种应用XML来描述用户界面的标示语言。XUL被实现为一种XML的方言。它允许以类似写网页的方式编写图形用户界面。
Declarative(置标语言) | |
实作者 | Mozilla基金会 |
实作语言 | C++ |
系统平台 | Gecko |
操作系统 | 跨平台 |
许可证 | Mozilla公共许可证 |
文档扩展名 | .xul 互联网媒体类型: application/vnd.mozilla.xul+xml |
网站 | developer |
主要实作产品 | |
Mozilla | |
启发语言 | |
HTML、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。XUL 2.0计划 (页面存档备份,存于)中将会包括这些缺乏的控件。
XUL应用
虽然XUL的设计原意是为了创作Mozilla程序及其扩展,但事实上人们也能利用它来编写基于HTTP的网络应用程序。基本安全性的原则,很多需要特权的XPCOM对象在无特权的XUL文档上都不能使用。唯有使用数码签署的脚本才享有此种特权。就算如此,这些文档亦受网页浏览器的限制,例如不能加载远程的XUL、DTD和RDF文档。
电影致敬
XUL读作「zool」有向电影捉鬼敢死队致敬之意。在捉鬼敢死队中,有一名为「Zuul」的古代苏美尔女神在支配住Dana Barrett的情况下说道:「There is no Dana, only Zuul」[1] 。在开发XUL之前,XML通常都是用于记录数据性文档,而非定义用户界面。因此设计XUL的编程员们便想到以「There is no data, only XUL」作为标语。而「Keymaster」和「Gatekeeper」都是来自该个情节。另外,Mozilla的JavaScript调试器——Venkman也是捉鬼敢死队的其中一个角色。这可以见于XUL的XML命名空间[2]。而在可以显示XUL的应用程序上,利用该网页就可以浏览到一个置中的、以大字体显示的标语。
外部链接
- Mozilla XUL (页面存档备份,存于)
- XULPlanet (页面存档备份,存于)
- XUL Periodic Table (页面存档备份,存于)
- XUL Weblog
- Mobile Amazon Browser
- Xul and Xml-related formats (页面存档备份,存于)