XML用户界面语言(XUL)开发入门(3)

XUL开发

我们已经了解了XUL的起源和发展情况。更重要的是,已经明白了可以用XUL和它提供给开发人员的有利时机来做什么。我希望您现在已经迫不及待想要进行XUL开发了。首先,您将设置一个XUL开发环境。

XUL开发环境

在了解XUL时已经注意到,可以使用XUL做许多不同的事情。因此,没有绝对适合的XUL开发环境。一般而言,您将会基于XUL的不同用途配置环境。

基本原理

首先,XUL 是一种基于XML的 UI 语言。要创建XUL文件,只需要能够创建XML文件。您或许想编写一些脚本,以使应用程序具有交互性,因此需要编写一些 JavaScript。要创建XML和 JavaScript 文件,不需要特定的编译器。XUL 运行时将会解释这些文件。但是,您还需要做一些事情。

也许最重要的一点是XUL应用程序的目录结构。在本教程中将会创建一个称为 xulblogger 的应用程序。图 2 显示了该程序的目录结构。

图 2.XUL应用程序的目录结构

图 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

另一个选项是 Spket。这可以作为独立的 IDE 获得,也可以作为 Eclipse 插件获得(参见 参考资料)。这不是特定于XUL的 IDE,但它提供了几个对XUL开发人员非常有用的特性。Spket 提供XUL和 XBL 控件,以及XUL和 JavaScript 的详细代码。图 4 展示了 Spket 的屏幕截图。

图 4. Spket IDE

不管选择什么样的编辑器,您最终都需要运行代码。再声明一下,您有很多选择,其中一些还使用 Firefox。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值