下面是XUL Tutorial的第一章第一节:介绍
介绍
本指南将会带领你进入XUL(XML用户界面语言)的世界,XUL是一种用来描述软件用户界面的跨平台语言。
文中将向你演示编写一个与Macintosh中Sherlock或Windows中查找文件对话框外观非常类似的,比较简单的文件查找用户界面,当然了,其只具有用户界面和一些有限的功能,并没有实现真正的文件查找。我将在对这个查找文件对话框做出改动的段落左边标记出一条蓝色线条,以方便你按照这个线索一步步学习下去。
XUL是什么,它为什么会出现?
XUL(发音为zool,韵尾与cool相同)最初是设计用来简化和加快Mozilla浏览器的开发工作,它是一种XML语言,因此具有XML所有的特点。
大多数应用软件的开发依赖于某个特定平台,这就使得编写跨平台的软件耗时和花费巨大,虽然这一点对于一些软件来说并不重要,但是对于那些用户需要在其他设备,诸如手持设备或者机顶盒上使用的软件来说就显得尤为关键。
在过去的时间里,人们已经开发出了许多跨平台的解决方案,比如说Java,它就是把可移植性作为其主要的卖点。XUL就是这样的一种专门用于编写可移植用户界面的语言。
通常来说,单单是为一种平台编写应用软件就会花比较长的时间,编译和调试花的时间可能还要长。有了XUL,界面实现和修改起来将会更加方便和快捷。
XUL拥有其他XML语言的所有优点,例如,XHTML或者其他诸如MathML或者SVG的XML语言就可以内嵌到XUL之中。使用XUL显示出来的文本也非常容易实现本地化,这就意味着只需作很小的更改就能将其翻译为其他的语言。在XUL中,样式表也同样可以用来修改用户界面的外观(与WinAmp或一些窗口管理器中的皮肤和主题非常相似)。
使用XUL可以做出那些类型的用户界面?
XUL提供了现代图形界面中绝大多数的界面元素,足够满足某些设备的的特殊需求;其功能也非常强大,开发人员可以使用它来开发出非常复杂的界面。
XUL中支持的元素有:
# 输入控件,比如说文本框和复选框
# 具有按钮或者其他内容的工具栏
# 菜单栏上的菜单或者弹出式菜单
# 带有标签的对话框
# 分类树或者表格信息栏
# 键盘快捷键
XUL可以通过一个XUL文件或者从一个数据源中获取的数据来产生显示内容。在Mozilla软件里,这样的数据源包括用户的邮箱、书签和搜索结果,其菜单、分类树和其他界面元素的内容都能使用这些数据,也可以使用你自己在RDF文件中的数据。
XUL内容一般从安装进Mozilla的包中载入,这些包允许一个应用软件有像读取本地文件、修改用户参数等的额外权限。XUL文件及其相关脚本、应用软件所使用的图像都将打包成一个单独的文件并由用户下载安装。Mozilla提供了不需要写一大堆复杂代码就能进行安装并注册这些包的方法。另外,这些包可以附着于浏览器或者其他软件之上来增加软件的功能,这就是Firefox扩展插件的工作原理。
我们也可以从本地文件系统或者从远端web站点上直接打开XUL文件,可是它们能够进行的操作会受到限制,XUL的一些功能将不起作用。但是如果你的确想从远端站点上载入XUL内容,web服务器必须要以'application/vnd.mozilla.xul+xml'的样式来发送XUL文件。XUL文件通常的扩展名是.xul,你可以使用Mozilla通过选择文件菜单中"打开文件"一项,或者在地址栏中输入文件的URL地址来打开XUL文件,就像打开别的什么文件一样。
关于使用这本手册,我还需要了解什么?
你必须得了解HTML,而且至少还得有一定的XML和CSS基础。
下面是一些忠告,希望你能记住:
# 因为XML是大小写敏感的,所以XUL的元素和属性都必须小写输入(这一点与HTML不同)。
# XUL中的属性值必须放在括号之中,甚至是数字也不例外。
# XUL文件通常被分成四个文件,一个是版面和元素文件,一个是样式声明文件,一个是实体声明文件(用于本地化),另一个是脚本文件。另外,可能还有额外的图像文件或者是平台特定数据。
Mozilla和其他基于Gecko引擎的浏览器,比如像Netscape 6及更高版本以及Firefox支持XUL。由于随着时间的变化,XUL的语法也在不断的进行变化,你有可能需要最新版本的例子才能正常运行,绝大多数的例子支持Mozilla 1.0及更高版本。Firefox使用的XUL与其他浏览器的基本上差不多,只是在诸如对用户可自定义工具栏的支持上有一些细小的差别。
该指南力求包含XUL的绝大部分功能,但并不是所有。一旦你对XUL熟悉之后,你就可以使用XUL Element Reference来找到特定元素相关的其他内容。