为什么使用XUL?

来源:互联网 发布:简述网络舆情的特点 编辑:程序博客网 时间:2024/04/28 08:22
XML用户界面语言(XUL)是一种用于创建具有丰富动态特性用户界面的标记语言。它是Mozilla浏览器及其相关软件的一部分,同时也是Gecko的 一部分。XUL支持各种版本的Windows、Macintosh、Linux及其它版本的Unix。有了XUL和其它Gecko组件,你不需要别的专门 工具就能够编写出优秀的应用程序来。
XUL最初是为Mozilla软件,其中包括web浏览器,邮件客户端软件和网页编辑器编写用户界面而设计 的。但是,除了编写这类软件外,XUL也同样能够用于你现在使用的web应用软件中的任何地方,比如需要能从网络上检索资源及需要一个功能更加丰富的用户 界面。就像HTML一样,你也能在XUL中使用标记语言编写一个界面,使用CSS样式表来定义外观,能使用JavaScript来编写动态效果,不仅如 此,你还能为通过网络读写远端文件的内容和调用 web services编写界面。然而,与HTML不同的是,XUL为创建菜单,工具栏,标签属性页和树性列表提供了一组丰富的用户界面构件。这就意味着你不必 仅仅为了处理一个弹出式菜单而去寻找第三方代码或者在你的程序中包含进一大段JavaScript源码,XUL已经内建了所有的这些元素。另外,这些元素 的外观和使用被设计得和用户所使用的本地平台一致,甚至支持Windows XP和MacOS X的系统风格,如果你愿意,你还能使用标准的CSS来创建你自己的外观。XUL的构件同样支持本地化,并且其实现得到了操作系统界面实现的支持。

XUL是什么?
XUL是一种XML语言,你能使用包括XSLT、XPath和DOM函数在内许多已存在的标准来处理一个用户界面,所有的这些Gecko均支持。实际上,XUL功能非常强大,以至于Mozilla软件的所有用户界面都是用XUL实现的。
除存在XUL中许多内建的用户界面构件之外,你也可以使用一种被称作可扩展绑定语言(XBL)的相关语言来创建别的自定义构件,这种语言可以用来创建自定义标记和实现自定义功能。
XUL 程序可以从一个远端的web站点直接打开,或者可以由用户下载并安装。Mozilla的XPInstall技术允许将一个应用程序放在远端站点上,仅通过 点击几次鼠标来完成安装,虽然安装文件,或者说是安装步骤会有一个比较长的过程,但是其间却不存在搜索文件的情况。安装应用程序的另一个特点是降低了系统 的安全限制,因为应用程序有可能要进行文件的读写,以及访问用户参数和系统信息。
XUL也可以用来单独编写嵌入Gecko引擎中的软件,或者当作 浏览器的一部分来使用。XUL的覆盖特性允许第三方为浏览器自身编写扩展,比如说增加自定义的工具栏,改变菜单,或者是增加其他具有特点的部分,这在 Mozilla Firefox中比较常见--它有差不多100个扩展。Mozilla将要发布的邮件客户端软件--Thunderbird同样也有许多扩展,实际上,任 何XUL软件都能支持扩展。
Gecko也同样支持其他诸如XML-RPC、SOAP和WSDL的web services技术,最近,这些技术被用于开发一个用于浏览amazon.com上商品的软件。

标准与其他支持的技术
下面是一个Gecko支持的以及能够用于XUL应用软件的技术列表(不包括XUL本身):
# HTML4.0 和XHTML
# CSS2 以及部分CSS3
# DOM2 以及部分DOM3
# XML
# MathML
# RDF
# XSLT
# XPath
# Simple XLinks
# XPointer
# XML Base
# FIXPtr
# XML-RPC
# SOAP (Simple Object Access Protocol)(简单对象访问协议)
# WSDL (Web Services Description Language)(web services 描述语言)
# ECMAScript/Javascript
# XBL (eXtensible Bindings Language)(可扩展绑定语言)
# GIF, JPG, PNG, BMP, ICO 图像
# HTTP 1.1
这个列表不包括Mozilla Mail中使用的所有邮件相关技术,如POP3、IMAP和LDAP,你可以在你自己的软件中支持它们。

作为软件平台的XUL

XUL和Gecko对于编写优秀的web软件来说是一个非常好的选择,它提供了一个丰富的用户界面工具包,对标准支持出色的HTML和CSS渲染,对web services的支持和百分之百的跨平台。
Gecko 运行时环境(GRE)的开发工作正在进行,其目标是使Gecko成为一个独立运行的软件,如果你愿意的话,还将包括你自己开发的程序。这个想法就是在安装 应用软件时,自动安装或下载GRE的相应版本,如果软件需要的话;如果GRE已经安装过了,就没有必要再重新安装或下载一次。对于那些需要的来说,GRE 大约有5到10兆的大小(视你所使用的平台而定),这大大小于其他的软件平台。除此之外,也能够直接从网络驱动器或者CD运行Gecko。
由于XUL可以用于web站点的开发,所以它能够用于像PHP和JSP这样的服务器端架构来建立具有动态内容的站点。这就使得Gecko依照你的需要,其软件模型是两层或者三层。目前,目的是将Java、Python和其他语言直接整合进Gecko的项目正在进行中。

从那些地方学习XUL?
XulPlanet 提供了XUL、XBL和其他相关技术的指南与参考,mozilla.org上也有相关内容。想了解更复杂的例子,你可以借助各种不同的 Mozilla Firefox扩展,mozdev.org上的项目,或者甚至是Mozilla软件自身使用的XUL:只需要使用ZIP工具打开Mozilla的 chrome目录中扩展名为JAR的文件,然后阅读即可。
 
原创粉丝点击