XUL开发
我们已经了解了XUL的起源和发展情况。更重要的是,已经明白了可以用XUL和它提供给开发人员的有利时机来做什么。我希望您现在已经迫不及待想要进行XUL开发了。首先,您将设置一个XUL开发环境。
XUL开发环境
在了解XUL时已经注意到,可以使用XUL做许多不同的事情。因此,没有绝对适合的XUL开发环境。一般而言,您将会基于XUL的不同用途配置环境。
基本原理
首先,XUL 是一种基于XML的 UI 语言。要创建XUL文件,只需要能够创建XML文件。您或许想编写一些脚本,以使应用程序具有交互性,因此需要编写一些 JavaScript。要创建XML和 JavaScript 文件,不需要特定的编译器。XUL 运行时将会解释这些文件。但是,您还需要做一些事情。
也许最重要的一点是XUL应用程序的目录结构。在本教程中将会创建一个称为 xulblogger 的应用程序。图 2 显示了该程序的目录结构。
图 2.XUL应用程序的目录结构
![](http://www.bianceng.cn/upimg/allimg/0911/96_091108041217_1.jpg)
图 2 展示了 3 个重要文件。首先是 application.ini。这个文件必须放在应用程序的根目录下。它最重要的用途是告诉XUL运行时它需要什么版本的运行时,如清单 1 所示。
清单 1. application.ini 文件
[App]
Vendor=developerworks
Name=xulblogger
Version=0.2
BuildID=20080924
[Gecko]
MinVersion=1.9
下一个重要的配置文件是 chrome.manifest。这个文件必须放在 chrome 目录中。通常需要在 chrome 目录中包含一个子目录,用于存放所有的XUL文件。可以根据自己的喜好为其命名。它在清单 2 中叫做 “xulblogger”,但是许多应用程序将其命名为 “content”。chrome.manifest 用于告诉XUL运行时如何找到您的文件。清单 2 显示了 chrome.manifest 的一个示例。
清单 2. chrome.manifest 文件
content xulblogger file:xulblogger/
可以看到,这个文件只包含一行简单的配置。最后一个重要的文件是 prefs.js。此文件必须放在 /defaults/preferences 目录下。它告诉运行时首先需要载入什么样的XUL文件,如清单 3 所示。
清单 3. prefs.js 文件
pref("toolkit.defaultChromeURI", "chrome://xulblogger/content/home.xul");
您或许还注意到了 extensions 和 updates 目录。不用担心这两个目录,XUL 运行时将会自动创建它们。
关于这里描述的结构,还有一个需要注意的事情是:XUL 应用程序通常是通过创建顶级目录的一个 JAR 文件来部署的。如果安装了 Java 开发工具,可以使用 Java jar 命令来创建 JAR,或者可以直接将目录压缩,然后将其扩展名由 .zip 更改为 .jar。
Eclipse 和XUL
作为一个有经验的开发人员,您可能已经知道 Integrated Development Environment (IDE) 的价值。您可能考虑 IDE 是否可用于XUL。这有大量的选择,有几个可用的XULIDE 构建在非常通用的 Eclipse 平台之上。对于XML、JavaScript 和 CSS 编辑,XULBooster(参见 参考资料)使用流行的 EclipseWebTools Platform。它还使用 XULRunner 来执行应用程序,并且连接到 XULRunner 进行调试。图 3 显示了 XULBooster 的屏幕截图。
图 3. XULBooster
![](http://www.bianceng.cn/upimg/allimg/0911/96_091108041308_1.jpg)
另一个选项是 Spket。这可以作为独立的 IDE 获得,也可以作为 Eclipse 插件获得(参见 参考资料)。这不是特定于XUL的 IDE,但它提供了几个对XUL开发人员非常有用的特性。Spket 提供XUL和 XBL 控件,以及XUL和 JavaScript 的详细代码。图 4 展示了 Spket 的屏幕截图。
图 4. Spket IDE
![](http://www.bianceng.cn/upimg/allimg/0911/96_091108041359_1.jpg)
不管选择什么样的编辑器,您最终都需要运行代码。再声明一下,您有很多选择,其中一些还使用 Firefox。