RIA(Rich Interface Applications)富界面应用,俗称胖客户端或者富客户端。 RIA的优势 RIA 具有的
桌面应用程序的特点包括:在消息确认和格式编排方面提供互动用户界面;在无刷新页面之下提供快捷
的界面响应时间;提供通用的用户界面特性如拖放式(drag and drop)以及在线和离线操作能力。RIA
具有的Web应用程序的特点包括如:立即部署、跨平台、采用逐步下载来检索内容和数据以及可以充分利
用被广泛采纳的互联网标准。RIA具有通信的特点则包括实时互动的声音和图像。 客户机在RIA中的作用
不仅是展示页面,它可以在幕后与用户请求异步地进行计算、传送和检索数据、显示集成的用户界面和
综合使用声音和图像,这一切都可以在不依靠客户机连接的服务器或后端的情况下进行。 对于企业来说
,部署RIA的好处在于: 1)RIA可以继续使用现有的应用程序模型(包括J2EE和.NET),因而无需大规
模替换现有的Web应用程序。通过Rich Client技术,可以轻松构建更为直观、易于使用、反应更迅速并
且可以脱机使用的应用程序。 2)RIA可以帮助企业提供多元化的重要业务效益,包括产提高销量、提高
品牌忠诚度、延长网站逗留时间、较频繁的重复访问、减少带宽成本、减少支持求助以及增强客户关系
等。 RIA目前的发展态势 在过去的两到三年中,Web开发人员一直是想构建一种比传统HTML更丰富的客
户端:这是一个用户接口,它比用HTML能实现的接口更加健壮、反应更加灵敏和更具有令人感兴趣的可
视化特性。RIA技术的出现允许我们在因特网上以一种像使用Web一样简单的方式来部署富客户端程序。
无论将来RIA是否能够如人们所猜测的那样完全代替HTML应用系统,对于那些采用C/S架构的胖客户端技
术运行复杂应用系统的机构和采用基于B/S架构的瘦客户端技术部署Web应用系统地机构来说,RIA确实提
供了一种廉价的选择。下面介绍一下目前出现的几种比较有实力或者有特点的RIA客户端开发技术: 1)
Macromedia Flash/Flex Flash 从6.0开始Flash就逐步具备建立窗体风格的应用程序的功能。据
Macromedia称已经有98%以上的桌面系统的浏览器都安装了 Macromedia Flash Player。这使得以
Macromedia Flash Player为客户端的RIA可以支持种类广泛的平台和设备。 Flex是为满足希望开发 RIA
的企业级程序员的需求而推出的表示服务器和应用程序框架,它可以运行于J2EE和.NET平台。Flex表示
服务器提供基于标准的、声明性的编程方法和流程,并提供运行时服务,用于开发和部署丰富客户端应
用程序的表示层。Flex开发者使用直观的基于XML的MXML来定义丰富的用户界面。该语言由 Flex服务器
翻译成SWF格式的客户端应用程序,在Flash Player中运行。 2) Laszlo Laszlo 是一个开源的RIA开发
环境。使用Laszlo平台时,开发者只需编写名为LZX的描述语言(其中整合了XML和Javascript),运行
在J2EE 应用服务器上的Laszlo平台会将其编译成SWF格式的文件并传输给客户端展示。从这点上来说,
Laszlo的本质和Flex是一样的。Flash是任何浏览器都支持的展示形式,从而一举解决了浏览器之间的移
植问题。而且,在未来的计划中,Laszlo还可以将LZX编译成Java或.NET本地代码,从而大大提高运行效
率。 3) Avalon Microsoft的Avalon是下一版本的 Windows(代号"Longhorn")的一部分,是一个图形
和展示引擎,主要由新加到.NET框架中的一组类集合而成。Avalon定义了一个在 Longhorn中使用的新标
记语言,其代号为"XAML"(可扩展应用程序标记语言)。可以使用XAML来定义文本、图像和控件的布局
,程序代码可以直接嵌入到XAML中,也可以将它保留在一个单独的文件内。这与Flex中的MXML或者
Laszlo中的LZX非常相似。不同的是:基于 Avalon的应用程序必须运行在Longhorn环境中,而Flex和
Laszlo是不依赖于平台的,仅仅需要装有Flash播放器的浏览器即可。 4) Java SWT Java 已经出现几
年了,并且完全支持创建基于窗体的用户界面。除了Java基础类(JFC/Swing)中的用户界面组件之外,
开发人员还可以使用来自于 Eclipse Project的SWT工具箱和许多第三方工具箱进行开发。对于图形来说
,可以采用Java 2D API:一个非常完整且非常复杂的图形API。你可以通过一个Web浏览器使用Java插件
软件,或使用Java运行时环境中较新的Java Web Start技术来部署应用程序。使用Java建立Rich Client
的主要缺陷是它的复杂性(即使对简单的窗体和图形也要求编写非常烦琐的代码)和Java浏览器插件的
低市场占有率。 5) XUL XUL (念作"zool")是一种基于XML的用户界面语言,它来自于Mozilla的开放
源码项目。它可用于建立窗体应用程序,这些应用程序不但可以在 Mozilla浏览器上运行,而且也可以
运行在其他描述引擎上,如Zulu(一个Flash MX组件)和Thinleys(一个Java实现)。XUL描述引擎都非
常小(100K以下),它可以使用XML数据也可以生成XML数据。XUL的一个主要缺点在于它目前还没有获得
一个主要商业实体的支持。XUL最大的优点在于它与Gecko引擎的集成(打开了通向大量Web标准的大门)
,以及与大多数其它XML用户界面描述语言相比它是一种非常具有表达力和简洁的语言。 6) Bindows
Bindow 是用Javascript和DHTML开发的Web窗体框架。Javascript用于客户端界面的显示和处理,
XMLHTTP用于客户端与服务器的信息传输。Javascript在客户端的表现力不容置疑,利用Javascript几乎
可以实现Windows应用程序所能干的大部分事情,XMLHTTP 一直以来常被用于实现"无刷新"的Web页面,
它和 Javascript配合,可以完成数据从服务器和客户端的传输。Bindows的一个主要的缺点是它采用一
次全部载入的方式来实现脚本库,在窗口的加载期,需要一个漫长的等待过程,甚至浏览器的进程会产
生无响应的情况。这点Bindows根本没有遵循"用多少去多少"的准则。另外,内部大量利用了IE6 的技术
,没有考虑到非IE的浏览器,限制了Bindows的流行。 RIA未来的发展预测 就目前RIA的使用情况来说,
离"RIA时代"还有很远的一段距离。今后几年时间内传统的Web应用程序和RIA将会共存。笔者认为真正具
有实力担当起普及丰富客户端应用重任的只有基于Flash Player的Flash/Flex应用程序和Microsoft的基
于Avalon的应用程序。短期时间内(估计2-3年时间)可能是 Flash/Flex应用程序在新兴的网络应用程
序市场上占有主导地位。随着时间的推移,Flash/Flex应用程序的市场占有率可能会慢慢被基于 Avalon
的应用程序所蚕食。当然,Flash Player和Flex以后也会不断推出新版本,相对于升级操作系统或安装
Avalon运行环境,人们肯定更愿意升级Flash Player。Flash/Flex应用程序也有其本身固有的软肋,
Flash Player的执行效率和对本地资源的操作限制是无法和Avalon相比的,相对于浏览器中的插件而言
,Avalon的应用程序拥有更加广阔的可操作空间和更高的执行效率。 目前Microsoft还在推广一种叫做
Smart Client(智能客户端)的客户端程序技术,Microsoft称Smart Client是比Rich Client更优秀的
客户端,因而采用Smart Client的应用程序算不算RIA目前我个人还无法作答。这里我们之所以提及
Smart Client,是因为Smart Client的特性跟我们谈的Rich Client有太多的相似之处。Smart Client拥
有自动更新、离线状态下的数据处理和可以使用本地资源等特征,其中的可使用本地资源这一项无疑是
一大卖点,因为浏览器中的 Flash/Flex应用程序目前还无法操作本地的一些资源,比如Flash/Flex应用
程序无法将网上的文件保存到本地或者修改本地文件。虽然 Macromedia的Central1.5已经可以对本地文
件进行简单的操作,并且flex1.5开发的RIA也能够运行于Central上,但是如何使Central能够得到大范
围推广还是个问题。相对于轻量级的Rich Client,Smart Client更接近C/S架构中的客户端程序。Rich
Client和Smart Client的定位还是有所区别的:Rich Client更适合作为轻量级的基于浏览器的网络应用
程序客户端;Smart Client更适合作为Windows桌面应用程序的智能客户端。 不管我们今天称之为的RIA
今后会不会成为主流应用程序,人们对开发具有高度互动性、丰富用户体验以及功能强大的客户端的追
求是不变的。有理由相信,拥有成熟技术和极高市场占有率的Flash客户端将会在RIA道路上越走越远。
Microsoft未来的重量级武器:Avalon和Smart Client能否后来者居上让我们拭目以待。
分享到:
相关推荐
RIA平台,即Rich Internet Applications(富互联网应用),是一种结合了桌面应用程序和传统Web应用特点的新型应用平台。它能够提供更加丰富的用户体验,同时兼有Web应用的灵活性和桌面应用的交互性。基于RIA平台开发...
富客户端开发技术,或称为RIA(Rich Interface Applications),是一种旨在提供桌面应用级别的交互体验和功能的Web应用程序开发方式。RIA技术融合了桌面应用的特性,如实时交互、丰富的用户界面,以及Web应用的优势...
Silverlight 4 in Action is a fast-paced, comprehensive tutorial that guides the reader from creating "Hello World" to coding production-quality, data-driven rich internet applications with graphics, ...
在RIA(Rich Interface Applications)中,单页系统是提升交互性的关键。这种模式下,系统的样式表(CSS)、脚本(JS)等只需要下载一次,对于大型应用如Ext的核心库,能显著减少客户端的加载时间。 **3. 使用Ext...
Teach yourself how to build rich Internet applications with Silverlight 4--one step at a time. With this practical, learn-by-doing tutorial, you'll learn how to create interactive user interfaces for ...
- **RIA(Rich Interface Applications,富界面应用)**:指具备桌面应用程序特性的Web应用,如即时反馈、拖放功能及在线/离线操作能力。 - **Ajax(Asynchronous JavaScript and XML)**:通过异步数据交换,实现...
该书全面覆盖了Flash Builder 4这一强大的集成开发环境(IDE)以及Flex 4框架的核心概念和技术,旨在帮助用户构建高效、灵活的RIA(Rich Internet Applications)应用程序。 Flash Builder 4是Adobe公司推出的一款...
FLEX,全称为Flexible Extensible Display Interface,是一种用于创建富互联网应用程序(RIA, Rich Internet Applications)的技术。由Adobe公司开发,FLEX主要基于ActionScript编程语言和Flex SDK,可以构建与...
ExtJS是一个非常流行的JavaScript框架,它主要被用来开发丰富的富互联网应用程序(Rich Internet Applications, RIA)和具有华丽外观的富客户端(Rich Client)应用。这些应用程序通常是基于浏览器的,而ExtJS提供了...
首先,JavaFX是Oracle公司推出的新一代用于开发富互联网应用(RIA,Rich Internet Applications)的框架,它提供了丰富的组件和强大的样式系统,可以创建出美观且功能强大的界面。JavaFX的API设计简洁,学习曲线相对...
Flex 4.0,全称为Adobe Flex 4.0,是Adobe公司开发的一款开源框架,主要用于构建富互联网应用程序(Rich Internet Applications,RIAs)。这个版本的Flex引入了全新的设计和开发理念,极大地增强了用户界面的设计...
ZK,全称为ZK Framework,是一款基于Java的开源用户界面框架,专为构建富互联网应用程序(Rich Internet Applications,RIA)设计。ZK 5版本是该框架的一个重要里程碑,它提供了一系列增强功能和优化,使得Web应用的...
XKOSS是一个基于Java的企业级开源框架,用于构建富互联网应用程序(Rich Internet Applications, RIA)。这个压缩包包含的资源是关于ZK框架的开发手册和开发向导,ZK是XKOSS框架的核心组件,专注于提供直观、动态且...
Rich Internet Applications (RIA) and Deployment The window of a dragged applet can be decorated with a default or custom title; see Requesting and Customizing Applet Decoration in Draggable Applets. ...
ExtJS是一个用于创建富客户端Web应用程序的前端JavaScript框架,特别适用于开发RIA(Rich Internet Applications)或AJAX应用。ExtJS利用AJAX技术与服务器端进行数据交换,而无需重新加载页面即可更新用户界面。它与...
* Explains system linking and data flow, end user interface, system architecture based on Silverlight 4 and .NET 4, and more * Includes coverage on integrating social networking and Facebook With ...