2008年7月29日星期二

浅谈Gecko关键部分之十XUL

Gecko内核作为一个功能强大的浏览器内核,其提出XUL(XML User Interface Language),并且由该语言来实现整个浏览器Firefox界面部分,XUL的实现从另个角度扩充了浏览器内核渲染引擎的内涵,因为它不仅仅可渲染HTML,同时可以象渲染HTML一样渲染xul,这样将XUL与HTML同等看待的浏览器内核实在独无仅有,从这个角度讲Gecko内核的渲染机制比IE、Webkit、Opera等浏览器内核要强大好多倍,因为它们目前本身仅仅支持HTML的渲染。虽然windows推出的XAML、adobe推出的Flex/Laszlo、yahoo widgets等都具有类似功能,但毕竟还没有与浏览器完全整合在一起。这样看来XUL作为Gecko内核的一部分具有根本而独特的作用,那就让我们抽时间来好好了解了解这个XUL。

一、什么是XUL?
XUL (XML User Interface Language) is Mozilla's XML-based language that lets you build feature-rich cross platform applications that can run connected or disconnected from the Internet. These applications are easily customized with alternative text, graphics and layout so they can be readily branded or localized for various markets.

二、XUL的实现机制
为了充分的达到利用XML+JS来实现图形界面程序,XUL作为一门类似HTML的语言,其中定义了一组标签、事件处理机制、渲染方式等,这些定义没有得到W3C等国际标准组织确认,仅由Mozilla组织定义并实现,解析处理一个xul文件的过程与处理html文件的主要过程是类似的,只不过在content、layout等方面有较大的不同,同时xul文件中可以嵌入html标签,将xul标签与html标签完全融为一体来处理,其主要处理过程完全类似浅谈Gecko关键部分之四The life of an html http Request中所描述的。

关于XUL具体定义的标签、CSS、事件处理等等,内容非常庞大,可具体参考下面提供的参考资源。

三、参考资源
WIKI XUL
Mozilla developer center-xul
XUL Reference
The Joy Of Xul
Xul Overlay
XUL Tutorial
XUL PLANET

WIKI XAML
WIKI Adobe Flex
WIKI Yahoo! Widget

没有评论: