写点什么

XUL:Web 该如何展现?

  • 2007-04-16
  • 本文字数:1149 字

    阅读完需:约 4 分钟

上星期我们简单谈及了富客户端框架的未来,那时我们只是把 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 中文站志愿者翻译队伍,请邮件至 china-editorial@infoq.com

2007-04-16 22:001351
用户头像

发布了 27 篇内容, 共 10.7 次阅读, 收获喜欢 15 次。

关注

评论

发布
暂无评论
发现更多内容

经验整理 神经网络基础知识

万里无云万里天

人工智能 神经网络

KeilC51基础 改变代码的字体大小

万里无云万里天

嵌入式 单片机 8051

KeilC51基础 利用仿真测试代码的运行时间

万里无云万里天

嵌入式 单片机 8051

通过阶乘获取一个一维PHP数组中全部的组合情况

左诗右码

轻松实现商品多属性组合:深入理解笛卡尔乘积的 PHP 实现方法

左诗右码

通义灵码 Visual Studio 下载安装指南(附安装包)

阿里云云效

阿里云 云原生 通义灵码

使用 Amazon Bedrock Converse API 简化大语言模型交互

亚马逊云科技 (Amazon Web Services)

API 生成式人工智能

经验整理 Datawhale-23期数据挖掘-心跳信号分类预测

万里无云万里天

人工智能 数据挖掘

AI时代:中美竞争,未来在孩子手中!

新消费日报

查思专利,为全球科研人员修一条信息“高铁”

脑极体

AI

办公神器小浣熊:有你我怎能不摸鱼

知识浅谈

AI AIGC 办公小浣熊

《神经网络设计》PDF

程序员李木子

我在中东做MCN,月赚10万美金

自象限

KeilC51基础 添加与删除中文时出现问号

万里无云万里天

嵌入式 单片机 8051

Character AI 推出实时语音通话功能;AirPods 将配备红外摄像头模组丨 RTE 开发者日报

声网

Confluence又一重磅软件:Confluence白板,附5款好用的替代软件推荐!

彭宏豪95

效率工具 职场 在线白板 Confluence 办公软件

六月的魔力:揭秘2024年加密市场与Reflection的创新与收益

BlockChain先知

如何在 Spring Boot 中开发一个操作日志系统

网罗开发

Java’ 企业号 6 月 PK 榜

经验整理 小甲鱼Python

万里无云万里天

Python 经验分享

KeilC51基础 生成可以下载到单片机的Hex文件

万里无云万里天

嵌入式 单片机 8051

2024年6月文章一览

codists

编程人

通义灵码 Visual Studio 下载安装指南(附安装包)

阿里巴巴云原生

阿里云 云原生 通义灵码

认证总结 北京业余无线电台A类

万里无云万里天

通信 无线电

VSPD9.0基础 建立一对互联的虚拟串口,进行串口通信的测试

万里无云万里天

虚拟化 串口通信 VSPD

鸿蒙笔记 下载和安装DevEco Studio

万里无云万里天

DevEco Studio 鸿蒙系统

鸿蒙笔记 helloworld(Java)

万里无云万里天

鸿蒙系统 DevEco Device Tool

XUL:Web该如何展现?_Java_Jonathan Allen_InfoQ精选文章