XUL study

From:  http://www.cat-snow.com/post/137.html 

一、XUL简介

XUL是“XML 化的用户界面语言(XML User Interface Language)”的缩写,跟XML一样是一种与平台无关性的语言,是用来描述用户界面的语言,现在被广泛用于Mozilla平台。Mozilla本身的界面就是用XUL进行描述的。

1.1 XUL相关技术

XUL与以下技术相关:

    1. CSS:层叠样式表(Cascading Style Sheets)的缩写,这是一种可以通过规则来控制 HTML/XUL/XML 等显示外观的语言。(其实XUL本身就是XML其中一种)
    2. DOM:文档对象模型(Document Object Model)的缩写,这是一个允许通过脚本来动态访问和更新 HTML/XML 文档的内容,结构和样式的接口。
    3. JavaScript:由 Netsacpe 公司的 Brendan Eich 创造的一种解释型语言,它主要用来进行基于浏览器下的脚本应用开发。因为 Mozilla 内置了 JavaScript 解释器,所以使用 JavaScript 开发扩展,就成为编程语言的首选。虽然,你也可以使用 C++,Perl,Python 等进行扩展的开发,但这些语言的先天优势都明显不足。
    4. XHTML:可扩展超文本标记语言(The Extensible HyperText Markup Language),XUL同XHTML语法有很多类似之处,而且XUL允许在内部嵌入HTML代码。
    5. XPCOM:跨平台组件对象模型(Cross -platform Component Object Model)的缩写,它很像微软的提出的组件模型技术,但它是跨平台的,即其运行环境可以不依赖于某种特定的操作系统平台。
    6. XPConnect:一种将 XPCOM 与 JavaScript 连接起来的技术。该技术允许组件被脚本化,而且能够用 JavaScript 来进行组件的开发。
    7. XBL:可扩展的绑定语言 (Extensible Binding Language)的缩写。
    8. RDF:资源定义框架(Resource Definition Framework)的缩写。Mozilla 使用这种文件格式来保存扩展的注册信息和描述信息等。

对于扩展开发来说,必须掌握的技术有 XUL,CSS,DOM,XPCOM,JavaScipt,而对于 XBL,XPConnet,RDF 做简单了解即可。

2.2 各相关技术的功能

如果说CSS是控制网页界面的话,那XUL即是控制桌面应用程序界面的语言。

  1. CSS用来控制程序界面,利用CSS可以在界面加上一些效果,例如字体大小、边框、颜色等。当然,也有一些Mozilla独有的特性。
  2. DOM 主要用来为 JavaScritp 提供一个 HTML/XML 的文档操作接口,并且,它也可以用来操作 CSS,对界面进行“动态”操作,如:按钮的禁止与否,动态装载数据等。可以看出,通过 DOM 接口,我们可以将程序的逻辑处理部分与界面表现部分有机的结合起来。
  3. JavaScipt 是扩展开发的核心要求,它主要用来实现程序的业务逻辑描述。可以说,从网页下的 JavaScript 开发到扩展下的 JavaScript 开发,是一种由轻量级到重量级的转变。

由于 JavaScript 语言只内置了几个与本地访问无关的对象,而对于桌面开发来说,显然不能满足要求。因为桌面开发需要访问大量的本地和网络资源,包括文件,剪贴板,Socket,浏览器本身等各种资源。而 XPCOM 为面向桌面的开发提供了这种可能。只有使用 XPCOM,我们的扩展才可以做出实用的功能,没有 XPCOM,本地与远程的资源整合可以说是不可能。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值