InfoQ

新闻

XML是用户界面(UI)开发的未来吗?

作者 Jonathan Allen 译者 胡键 发布于 2007年4月9日 上午7时55分

社区
.NET,
Java
主题
RIA,
Silverlight,
富客户端/桌面
标签
AJAX,
Flex,
WPF/E,
Flash,
Apollo,
XAML,
WPF

或者是JavaScript?新一茬的桌面用户界面框架有一个共同的趋势:基于XML,并具备某种程度的JavaScript支持。在此,让我们简要地看看AJAX,WPF/XAML,Flex/MXML和Firefox的Gran Paradiso。

首先登场的是AJAX,Web 2.0狂潮的典范。作为一门充分利用现有HTML和JavaScript的新技术,几乎没有理由不使用HTML。尽管目前还不适合桌面应用程序的开发,但它的确为后来者搭建了一个舞台。

微软把宝重重地押在了一门新的基于XML的语言上:可扩展应用程序标记语言(Extensible Application Markup Language,XAML)。传统的Windows开发者可以通过Windows Presentation Foundation(WPF)使用它。在XAML中WPF更象ASP.NET,被用于界面表现,而其它的,如C#或VB,被用在代码分离的文件中进行事件处理。

除了技术区别之外,XAML还从根本上改变了用户界面设计的开发循环。用户界面专家和图形艺术家可以使用XAML编辑器(如Expression BlendZAM 3D)创建用户界面,然后将文件移交给使用Visual Studio的开发人员。至少在理论上,开发人员可以不用再根据那些使用Visio或Photoshop拼凑的非交互性截屏进行工作。从ASP.NET相当令人迷惑的成功上可以判断,它的效果令人起疑,但是至少存在潜力。

XAML的故事并没有在这儿打住。微软同样期望通过Windows Presentation Foundation/Everywhere(WPF/E)获得跨平台的支持。这个产品开始将以JavaScript作为它的程序、事件处理语言,在今后的版本中将支持公共语言运行时(CLR)。它可以被视为其他浏览器驻留框架(如Flash/Flex)的直接竞争对手。

关于XAML技术需要留意的是,这些设计器目前都还没有真正意义上成型的形式。Expression Blend目前只是处于预发布阶段。今年晚些时候,VS Orcas将到达Beta版。在此之前,Visual Studio将不会有任何多于CTP(Community Technology Preview,社区技术预览版)的功能。

接下来的是MXML。它是在Adobe Flex中被使用的表现语言,同样基于XML。它结合了JavaScript的派生产品——ActionScript,最初它是由Macromedia在2004年发布的。尽管工具的支持经过了多年改进,但是它仍然被桎梏于浏览器和Flash播放器中。Adobe实验室想通过Apollo计划来改变这一切。Apollo计划的目标就是创建一个将Flex从浏览器解放的跨平台运行时(Runtime),这样它就可作为一个单独的桌面应用程序运行。实际上,这是剽窃了Java最初的剧本,他们将飞机开入了微软的客厅。凭借出众的界面水准,它们有可能赢得比赛。

最后是Firefox带来的新礼物Gran Paradiso。与微软不同,它为Web引入了一门新语言。也不像Abode,它一开始就创建了一个新的运行时。Firefox团队忠于它们目前拥有的东西。Gran Paradiso使用与AJAX相同的底层技术——HTML和JavaScript,并且它仍然生活在浏览器之中。区别是,它计划提供DOM存储、脱机执行和同步模型等功能,该模型允许Web应用程序在部分或完全的非连接模式下运行。

过于依赖一个特定的浏览器可能最终会击沉Gran Paradiso。不像WPF/E和Apollo使用跨平台的运行时,它们期望用户不需要为跨平台这些问题烦心,Firefox是一个高度从应用程序自身夺取屏幕空间的可视化帧。那些使用IE、Safari或Opera的用户,肯定会对于必须使用Firefox感到些许不安。

结合XML和某种形式的JavaScript成为了这些新框架的主旋律。JavaScript到底是下一个超级语言,还只是一个短期的异常?

译者简介:胡键是InfoQ中文站的志愿者翻译,自2000年西安交通大学硕士毕业后一直从事软件开发。2002年开始使用Java,在项目开发中经常采用OpenSource工具,如Ant、Maven、Hibernate、Struts等,目前正在研究信息集成方面的规范和技术。可以通过jianhgreat AT hotmail.com与他联系,或访问博客:http://foxgem.javaeye.com/。加入InfoQ中文站志愿者翻译队伍,请邮件至china-editorial@infoq.com

XUL 发表人 Gao Ang 发表于 2007年4月9日 上午8时34分
XML的优点 发表人 Xiaogang Guo 发表于 2007年6月4日 下午12时22分
  1. 返回顶部

    XUL

    2007年4月9日 上午8时34分 发表人 Gao Ang

    前段时间关注Mozilla的XML用户界面语言XUL(XML User Interface Language),感觉很有意思。

  2. 返回顶部

    XML的优点

    2007年6月4日 下午12时22分 发表人 Xiaogang Guo

    用XML的话设计器容易做吧。而且用XML界面元素之间的层次关系可以看得比较清楚,layout也容易很多。

深度内容

和Google互补的搜索引擎Wolfram|Alpha

Wolfram|Alpha与Google究竟是什么关系,Wolfram|Alpha自己是如何定位的?Wolfram|Alaph在多大程度上是语义网搜索呢?InfoQ中文站就等等这些问题采访了Wolfram研究公司中国区商务经理王翔。

SOA契约成熟度模型

本文说明了所推荐的契约版本管理设计策略是如何与SOA成熟度模型发生联系的。文章目的是为实现版本管理和可组合性提供一个路线图。

数据服务简介

Vijay Narayanan在这篇文章中对数据服务的几个方面进行了介绍,它们都是SOA实践者和数据架构师感兴趣的内容。本文对数据服务的几个方面进行了介绍,包括需求定义,基本原理和好处、范围、开发以及消费模式。

分块云计算

在本文中,Jimmy Nilsson描述了一种他在过去数年间观察到的一种正在缓慢成长的架构风格,他把这种风格称为“分块云计算”。

豆瓣网技术架构变迁

罗马不是一天建成的,豆瓣的技术架构也是随着用户规模的增长一直在持续变化中。在本次演讲中,豆瓣的首席架构师洪强宁将与大家一起分享从上线时的单台服务器架构开始一直到现在的豆瓣架构变迁历程。

融合思想:深入探索S#arp架构

Billy McCafferty展示了S#arp架构,它在ASP.NET MVC框架的基础上,荟萃了当今的最佳实践,应用在ASP.NET Web应用程序的架构设计中。

王雷谈开源以及新兴市场计划

中国作为新兴市场中的新兴市场,是Sun在美国之外实施SSE(SUN Startup Essentials)项目重点关注的地区。在QCon Beijing 2009期间,InfoQ中文站有幸对此项目的负责人王雷先生进行了采访,探讨了关于开源、新兴市场、SSE等话题。

使用HTML5构建下一代的Web Form

HTML5 是由 WHATWG发起的,最开始的名称叫做Web Application 1.0,而后这个标准吸纳了Web Forms 2.0的标准,并一同被W3C组织所采用,合并成为下一代的HTML5标准。