BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

XUL:Web该如何展现?

| 作者 Jonathan Allen 关注 530 他的粉丝 ,译者 陈俊 关注 0 他的粉丝 发布于 2007年4月18日. 估计阅读时间: 4 分钟 | Google、Facebook、Pinterest、阿里、腾讯 等顶尖技术团队的上百个可供参考的架构实例!

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

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

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

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

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中文站志愿者翻译队伍,请邮件至china-editorial@infoq.com

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT