RIA开发权威指南
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.2 RIA简介

作为近年来互联网世界中炙手可热的词汇,RIA频频出现在各种媒体报道和技术文章上面。虽然许多人将RIA与最新的观念、最热的技术等词语联系起来,但是事实上从专业的角度讲,RIA并不是完全意义上的全新理念。RIA类似于Web技术BS架构向CS架构的回归。实际上任何技术的发展都是承上启下的连续过程,RIA技术也不例外,它的出现和Web新概念的出现都是互联网发展的一种发展趋势。

1.2.1 什么是RIA

RIA(Rich Internet Applications)的全称是富互联网应用程序。

为了提高用户体验,出现了一种新类型的Internet应用程序。那就是Rich Internet Applications(RIA)。这些应用程序结合了桌面应用程序的反应快、交互性强的优点与Web应用程序的传播范围广及容易传播的特性。RIA简化并改进了Web应用程序的用户交互。这样,用户开发的应用程序可以提供更丰富、更具有交互性和响应性的用户体验。

简单地说,RIA就是网络上的应用程序,它同时具有Web应用的特点和桌面应用程序的特点。作为Web应用程序,它是跨平台的、无须额外配置的、无处不在的;作为桌面应用程序,它是实时反应的、具有丰富交互操作的。

RIA的存在为广大的Web用户带来了全新的体验。这些体验主要体现在界面的内容上,使得大量的界面控件和数据能够紧密联系,更可以方便地整合音频、视频等媒体元素。不同于传统的Web应用,RIA采用异步传输模式和服务器通信,这是一种比较安全的、具有更强适应性的服务器运行模式,在传输发生时用户可以继续做其他操作而无须等待刷新;另一方面,由于传输是局部的,只考虑发生变化的部分,因此大大减少了网络流量。

RIA具有桌面型计算机软件应用的最佳用户界面功能性、普遍采纳Web应用程序、部署成本低、以及互动多媒体通信的长处,所以是一种可以提供更直观、响应性和有效的用户体验应用程序。它所具备的桌面型计算机长处包括了在确认和格式编排方面提供互动用户界面;在无刷新页面之下提供快捷的界面响应时间;提供通用的用户界面特性如拖放式(drag and drop)以及在线和离线操作能力。Web网的长处如立即部署、跨越平台可用性、采用逐步下载来检索内容和数据、拥有杂志式布局的网页以及充分利用被广泛采纳的互联网标准。它所具备的通信的长处则包括双向互动声音和图像。

1.2.2 RIA的优势

最初的网页是基于HTML技术的,交互作用完全依赖于与服务器端链接,这样的交互结果是往往提交一个表单即花去数秒钟甚至更长。之后虽然有Ajax等技术的出现,但网页页面却没有什么太大的改进,仍然是依靠表单进行交互。而且Ajax的不易维护和在浏览器之间的不兼容使得这终将是一个过渡技术。

用户与中等复杂程度的Web应用程序交互时,其体验并不能令人满意。这是由于Web模型是基于页面的模型,缺少客户端智能机制,故几乎无法完成复杂的用户交互。这样的技术使得Web应用程序难以使用,支持成本高,并且在很多方面无法发挥效应。

在BS架构取得广泛应用的今天,它的一些缺点渐渐暴露出来了;而RIA的出现将弥补传统BS构架的种种缺点,下面将详细讨论RIA与BS的技术特点。

1.BS的不足

BS的操作复杂性是由于需要表达一个多步骤或多选项任务或互动作用所引起的。在HTML里,一个多步骤的任务可以在单页内表达出来;但是由于HTML的互动性有限,便可能产生一份很长的页面,使用户感到混乱、笨拙而难以使用。为了避免这种难以忍受的用户体验,便需将任务在表面上看来“自然”的部分处区分成多个步骤,甚至需多个网页共同完成。这种以网页为主的用户界面通常需要反复翻转网页,以解决在顺序步骤中有牵连性的改变。其结果是缓慢、不自然、混乱而且令人感到懊恼的用户体验。因此,造成操作复杂的根本原因是HTML的表现形式有限。

BS的反馈性差,高度互动性的应用程序如游戏、能使反馈变得复杂,也就是指用户行动和快速移动或情节不断改变的屏幕元素之间的反馈环路。一直以来传统的HTML页面都无法表达这类复杂性,它所需要的是拥有高度互动性和局部智能型的客户端应用程序,以便可以在无须刷新全页或干扰与服务器之间通信的情况下,响应用户的输入和改变它们的状态或界面。放弃如今依赖服务器的客户机将使用户体验更吸引,同时也解决了反馈复杂性的问题。所以,Web应用程序必须拥有表达复杂性的能力,以容许用户视看复杂的数据、配置多选项的产品、搜索大型数据集以及容许用户与数据之间的互动交换。

2.RIA的优势

(1)表现力丰富。RIA能在基于标准浏览器的网页应用实现HTML标签根本无法实现的用户界面效果。这种内涵更丰富的交互涵盖所有在客户端所能实现的功能,例如拖曳功能、滑块功能,而且这些功能无须与服务器端交互数据,完全是在客户端进行运算。

(2)反应更加迅速。与那些总需与远程服务器进行交互的标准网页浏览器相比,RIA界面功能的反应要迅速得多,这也是RIA特点之一。

(3)减少服务器端负荷。RIA可以使客户端和服务器端对资源的需求更加平衡,从而使服务器不必再像传统网页应用中那样一直高负荷地运转。由此服务器端的资源得到了解放,从而提升了同一服务器端硬件设施所能并行服务的客户端会话数量。

(4)异步通信。无须等待用户执行诸如在按钮或链接上单击的交互操作,客户端引擎便可与服务器端进行交互。这样,用户便可在客户端引擎跟服务器端通信的同时,异步地进行页面浏览或交互。从而,RIA的设计者便可在免于让用户等待的情况下,在客户端与服务器端之间传输数据。程序会预先从服务器端预取数据,即程序预见到未来可能需要某些数据的时候,会预先于用户请求将其下载,借此提升响应后续请求的速度。

(5)网络效率高。RIA的网络通信量也会明显减少,这是由于在决定需要与服务器端交换什么数据时,为应用程序专门设计的客户端引擎会比标准的网页浏览器更智能。另外,由于每次交互所需传输的数据量变少了,总负载也减轻了,所以提升了每个请求和响应的速度。

1.2.3 RIA前景展望

说到RIA的前景,就得谈谈Web技术的发展情况和历程。

Web2.0代表一个新的网络阶段,它本身并没有特别明确的标准描述,一般我们认为:Web2.0即是促成这个阶段的各种技术和服务。虽然Ajax、blog、rss、wiki等技术都是Web2.0的重要组成部分,但Web2.0最重要的是思想上的变革。具体地说,就是无与伦比的交互能力。在Web1.0的时代,上网就是意味着浏览网页。而在Web2.0却是互动,例如开博客、开网店。网民更多地参与信息产品的创造、传播和分享,当然这个过程是有价值的。

Web3.0的核心同样在于新的理念,而非其中的某个技术产品。它主要包括这样两个准则:一是更强的数据独立性。网站内信息可以直接和其他网站信息进行交互和交换,能通过第三方信息平台同时对多家网站信息进行整合使用;二是更强的网络客户端应用。完全基于Web浏览器,用浏览器即可实现复杂的系统程序才具有的功能。只要有浏览器,即拥有了强大功能的终端机。“网络即是计算机”是Web3.0的深刻写照。

RIA的核心在于:可以在浏览器上提供丰富的应用交互功能,所以RIA是Web3.0中实现浏览器强大功能的技术。RIA和Web发展紧密结合,并且将会在未来的Web世界中扮演重要的角色。

虽然从目前RIA的使用情况来说,离“RIA时代”还有很长一段距离。今后几年时间内传统的Web应用程序将会和RIA共存,但Web技术向RIA方向发展的趋势是毋庸置疑的。

总之,不管我们今天称之为的RIA今后会不会成为主流应用程序,但人们对开发具有高度互动性、丰富用户体验以及功能强大的客户端的追求是不变的。