50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

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:001459
用户头像

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

关注

评论

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

全方位优化:智能化工器具库房管理综合解决方案

斯科信息

RFID解决方案 RFID工具库房 斯科信息 RFID技术

AI数字人开发的技术框架

北京木奇移动技术有限公司

软件外包公司 AI数字人 AI数字人开发

更新Mac软件有哪些方法 Mac软件如何管理待更新软件

阿拉灯神丁

appstore 应用程序 Mac软件 卸载清理软件 CleanMyMac X中文

没有专业IT团队?灯塔低代码平台让中小企业自己当"开发者"

中烟创新

时序数据库 TDengine 开源之夏项目全中选!年轻人的热爱从不是说说而已

TDengine

tdengine 开源 时序数据库

Blender 4.5 (Linux, macOS, Windows) - 开源 3D 创意软件 (渲染 建模 雕刻)

sysin

blender

2015年9月微软安全更新汇总 - MS15-094至MS15-105漏洞修复

qife122

安全更新 Windows安全

Golang基础笔记十二之defer、panic、error

Hunter熊

golang 后端 defer panic Error

教堂定制P4 LED屏幕安装:提升宗教体验

Dylan

数字化 LED显示屏 全彩LED显示屏 led显示屏厂家 户内led显示屏

NocoBase CRM Demo 部署指南

NocoBase

开源 低代码 零代码 Demo CRM

AI数字人开发的技术方案

北京木奇移动技术有限公司

软件外包公司 AI技术应用 AI数字人

不用写代码!2个小时,我自己搭了一套进销存系统,业务效率翻倍!

中烟创新

时序数据库 TimechoDB V2.0.5 发布 | 新增树转表视图、模型微调等功能

Apache IoTDB

Post-Training on PAI (4):模型微调SFT、DPO、GRPO

阿里云大数据AI技术

人工智能 云计算 算法 模型微调 大模型微调实践

生产排产的逻辑是什么?一文讲通!

积木链小链

数字化转型 智能制造 生产管理

嘉为蓝鲸DevOps平台:连续2年入选信通院数字化图谱,全链路赋能企业研发效能升级

嘉为蓝鲸

DevOps 智能运维 研运一体化

百度视频云互动大模型SDK适配鸿蒙,让人机交互更智能、更开放

新消费日报

AI数字人的开发流程

北京木奇移动技术有限公司

软件外包公司 AI技术应用 AI数字人

Console 纳管 Elasticsearch 9(二):日志监控

极限实验室

elasticsearch console

中烟创新入选2025全国企业“人工智能+”行动创新案例TOP100

中烟创新

招商管理系统(源码+文档+讲解+演示)

深圳亥时科技

成功案例丨减重64%!Altair 解决方案助力3D打印铣削头实现轻量化

Altair RapidMiner

仿真 CAE hyperworks 3D打印 Radioss

微软发布安全公告2887505:IE远程代码执行漏洞分析与缓解方案

qife122

网络安全 浏览器安全

基于 Amazon Nova Sonic 和 MCP 构建语音交互 Agent

亚马逊云科技 (Amazon Web Services)

清华大学软件学院院长王建民教授:AI 时代,如何从采数到用数?

Apache IoTDB

BI 数据可视化平台建设(3)—首页性能提升实践

vivo互联网技术

前端 性能调优 BI可视化

CST软件无限平面圆孔RCS --- 单站, 单角多频,T和F求解器(远场),去耦平面

思茂信息

cst CST软件 CST Studio Suite

大数据-43 Redis Lua脚本实战全解析 eval redis.call redis.pcall

武子康

Java lua redis 大数据 分布式

HCI发布《2025年洞察报告》

财见

“第一届脑机智能与心脑健康创新发展及应用论坛”于厦门成功举办

新消费日报

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