XUL:Web该如何展现?

上星期我们简单谈及了富客户端框架的未来,那时我们只是把XUL看作是Mozilla上扩展的一种语言,然而这似乎是错误的看法。

XML用户界面语言(XML User Interface Language,简称XUL)和我们上个星期所介绍的那些框架有许多共通之处,包括基于XML来展现,使用JavaScript作后端。但仍可通过一些主要特点来区分它们的。

大多数Windows开发者对于新框架的第一个疑问会是“它会好看吗?”,换句话说,这个框架的外观是否会和本地应用程序相像。对于XUL来说,答案看似是肯定的。Mozilla Amazon Browser(MAP)显示了它可以用来做漂亮的富客户端。虽然运行在Firefox上,但他看起来就和本地的应用程序一样。如XUL Periodic Timetable(只支持Mozilla)网站所演示的那样,它已经提供了富客户端开发者们所期望的大多数控件。

在十年前,人们尚可接受不与其它平台交互的孤立平台和编程语言,但现在则是难以接受的。为此,XPCOM和XPConnect就应运而生了。

XPCOM(Cross Platform Component Object Model,跨越平台的对象模型构件),是一个为支持跨平台代码和标准组件的框架。XPCOM构件能够用C、C++和JavaScript来编写,同时它能被C、C++、JavaScript、Python、Java和Perl所调用。

XPConnect 是能让XPCOM和JavaScript之间作简单解释的一种技术。XPConnect允许JavaScript对象透明地访问和操作XPCOM对象。它也能让JavaScript对象去实现能被XPCOM对象所调用的XPCOM兼容接口。

最近另一个热点话题就是XUL的国际化,它已经转换成易于阅读的DTD和property文件。这样当然就使移植更为容易,通过XUL代码本身能够被分别产生和组合这些文件。

和许多开源项目一样,XUL不缺少工具的支持。XUL的主页上列举好些工具和实用程序,其中包括XUL Explorer,一个轻量级的IDE。

乍看下XUL似乎和Gran Paradiso(Firefox 3 的开发代号)有一样的问题,需与Mozilla相关浏览器绑定。然而,事实并非如此,另一个Mozilla的产品,XULRunner,允许基于XUL的应用程序在这些浏览器以外运行,现在所支持的平台有Windows, OS X, 和Linux。

然而XUL并非百份百的解决方案。当在Firefox 2.0.0.3版里测试时,就出现如Alt+D的快捷键跳转到Firefox上而不是应用程序的命令按钮上的问题。这些或许都是小缺陷,很容易就修复了。

XUL的公开性和优雅的架构,使得WPF/E和Adobe Flex想取胜也绝非易事。

译者简介:陈俊是InfoQ中文站的志愿翻译,SpringSide开源项目的核心成员,以及中科院软件工程硕士,就职于Accenture。长期从事Java EE应用开发,热衷于软件体系结构,设计模式,软件过程改进及敏捷开发研究,也喜欢尝试不同的开源技术,一直以来坚持为开源社区的发展贡献自己的力量。加入InfoQ中文站志愿者翻译队伍,请邮件至[email protected]

你可能感兴趣的:(XUL:Web该如何展现?)