本指南将会带领你进入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来找到特定元素相关的其他内容。
分享到:
相关推荐
XUL文档介绍。E文的。有需要的下载吧。呵呵
java运行依赖jar包
java运行依赖jar包
java运行依赖jar包
一组工具,用于在xforms支持下生成基于XUL的表单。
企业信息网格中XUL-SQL技术的研究.pdf
分布式信息集成中XUL-SQL问题的研究.pdf
XUL#是ac#库,用于使用Mozilla XUL用户界面编写Web和独立应用程序。 可以将同一应用程序托管到ASP.NET或Windows.Form(或Mono)语言中:C#,XUL,HTML
Xul Dev意味着Xul开发环境。 IDE旨在设计Xul接口并以任何编程语言编写程序。 IDE用Scriptol C ++编写,并且以源代码形式和二进制可执行文件形式提供。
自己写的一个xul的小程序。本程序包含了xul程序的基本框架,是初学者入门的不错的选择。下载后,直接在firefox上安装,会在状态栏出现helloworld标签。 也是自己编辑本示例,将文件后缀改为zip,解压就可以看到示例...
通过网络上的任何Firefox浏览器控制AmaroK。
事实上,即将发布的 Firefox 4.0 不仅仅是由 XUL 构建的,但它提供了一个 XUL 运行时环境,允许任何 Firefox 用户运行其他 XUL 应用程序。在本教程,您开始使用 XUL 进行编程,并学习一些帮助您开发 XUL 应用程序的...
由于无法从Maven repository中下载依赖,因此提供kettle相关的jar包需要手动安装到maven仓库中,并提供了pom.xml作为参考
是一个xul music player
Luxor是Java中的开源XML UI语言(XUL)工具包,可让您使用XML来构建UI,其中包括Web服务器,门户引擎(支持RSS),模板引擎(Velocity),脚本解释器(Python)和更多的。
XUL开发手册.pdf
一个用xul写的便签,可以实现记事的功能
《初识XUL用户界面UI开发》XUL是Mozilia社区开发技术中的一员,总要是为用户界面UI服务,Firefox就XUL以及其它一系列相关的基础库开发出来的成功之作。事实证明XUL是成功的UI开发技术,本文以一个最简明的视角来向看...
xul文档具体标签说明和例子xul文档具体标签说明和例子
EDS日历集成 EDS日历集成是Thunderbird附加组件。 它将Evolution Data Server与Thunderbird日历同步。 Gnome日期和时间小程序使用EDS显示日历事件。 多亏了这个附加组件,您将获得有关即将发生的事件的不错的系统...