什么是 RIA 技术? RIA:Rich Internet Application ,富网络应用,最近比较火热。我和
一个做视频会议的朋友联系,问他在关注什么,告诉我在关注 RIA。那么什么叫 RIA 富网
络应用呢? 1.RIA 的定义 RIA 是 Rich Internet Applications 的缩写,翻译成中文
为富因特网应用程序(Macromedia 中文网站翻译为 Rich Internet 应用程序)。 传统网络
程序的开发是基于页面的、服务器端数据传递的模式,把网络程序的表示层建立于 HTML
页面之上,而 HTML 是适合于文本的,传统的基于页面的系统已经渐渐不能满足网络浏览
者的更高的、全方位的体验要求了,这就 是被 Macromedia 公司称之为的“体验问题”
("Experience Matters"),而富因特网应用程序(Rich Internet Applications,缩写为 RIA)的
出现也就是为了解决这个问题。RIA(Rich Internet Application,富互联网应用系统)技术允
许我们在因特网上以一种象使用 Web 一样简单的方式来部署富客户端程序。这是一个用户
接口,它比用 HTML 能实现的接口更加健壮、反应更加灵敏和更具有令人感兴趣的可视化
特性。无论将来 RIA 是否能够如人们所猜测的那样完全代替 HTML 应用系统,对于那些采
用胖客户端技术运行复杂应用系统的机构来说,RIA 确实提供了一种廉价的选择。 2.
RIA 的产生背景 基于 HTML 的应用程序之所以变得流行是由于应用系统的部署成本低、
结构简单,且 HTML 易于学习和使用。很多用户和开发人员都乐于放弃由桌面计算机带来
的用户界面改进,来实现对新数据和应用系统的快速访问。与丧失一些重要的 UI 功能相比,
基于 Web 的方式所带来的好处要更大得多。 然而,某些应用系统并不完全适合采用
HTML 技术。复杂的应用系统可能要求多次提取网页来完成一项事务处理,在某些领域中,
如医药和财务领域,这往往导致交互速度低得无法接受。让我考虑一个项目管理系统:我们
可以将其实现为一个 HTML 应用系统,但是如果用户可以看到并且操作图表、进度表和各
种层次结构,那么显然会工作得更好。 此外,虽然 HTML 开始走向简单,但是即使简单的
交互活动也仍然需要用很多的脚本来完成。即使一个输入窗体经过仔细的布置和全面的脚本
设计,它从浏览器所能发送的也仅仅是简单的"名字/值"对。如果一个 HTML 窗体能够以
XML 文档形式发送和接收更复杂的数据结构,那就好多了。 RIA 利用相对健壮的客户
端描述引擎,这个引擎能够提供内容密集、响应速度快和图形丰富的用户界面。除了提供一
个具有各种控件(滑标、日期选择器、窗口、选项卡、微调控制器和标尺等)的界面之外,
RIA 一般还允许使用 SVG(Scalable Vector Graphics,可伸缩向量图)或其他技术来随时构
建图形。一些 RIA 技术甚至能够提供全活动的动画来对数据变化作出响应。 RIA 的另
一个好处在于,数据能够被缓存在客户端,从而可以实现一个比基于 HTML 的响应速度更
快且数据往返于服务器的次数更少的用户界面。对于无线设备和需要偶尔连接的设备来说,
将来的趋势肯定是向富客户端的方向发展,并且会逐渐远离基于文本的 Web 客户端。那些
运行在膝上设备上的应用系统,可以被设计成以离线方式工作,或者至少当连接丢失的时候
能基本上以离线的方式工作。 最开始的网页,都是 html 静态网页,浏览者只是看,内
容有图片和文字,有超链接,相比书本而言强大百倍。但浏览者没法交互和反馈。后面脚本
语言和 CGI 得到大量应用,就叫动态网页了。以.net,jsp,asp,php 等技术为代表,结合 css 和
数据库,ActiveX,Ajax,Flash 等,使网页功能相当强大。 RIA 技术,类似于单机版
的应用程序,在很大程度上跳出了浏览器的限制,具有丰富美观的界面和交互能力,但它又
是地地道道的网络程序,具有快速修改和部署的能力。它基于 XMl,脚本语言和 web
service,可以产生丰富而强大的应用。在没有 RIA 的时代,要制作强大的界面,单机版应
用程序很费力气,学过 VC6.0 的就知道,做个界面不容易。做花哨一点的界面更是费九牛
二虎之力。网络上做界面相对容易,采用 dreamweaver 等工具布局,画出什么就是什么。但
网络上的程序又不够强大,或受到某些安全限制。flash 网页美观,功能也强。但用其做网
页工作量还是挺大。 RIA 技术,基于 XML,界面上采用 Flash 等技术,用 ActionScript
脚本做动态响应。编写时和编写普通网页差不多,但最终界面却玄的多,会生成 flash 可以