RIA技术

更新时间:2024-06-18 22:56

RIA:Rich Internet Application ,富网络应用。RIA是Rich Internet Applications的缩写,翻译成中文为富因特网应用程序(Macromedia中文网站翻译为Rich Internet应用程序)。

RIA的定义

传统网络程序的开发是基于页面的、服务器端数据传递的模式,把网络程序的表示层建立于HTMLRIA)的出现也就是为了解决这个问题。RIA(Rich Internet Application,富互联网应用系统)技术允许我们在因特网上以一种像使用Web一样简单的方式来部署富客户端程序。这是一个用户接口,它比用HTML能实现的接口更加健壮、反应更加灵敏和更具有令人感兴趣的可视化特性。无论将来RIA是否能够如人们所猜测的那样完全代替HTML应用系统,对于那些采用胖客户端技术运行复杂应用系统的机构来说,RIA确实提供了一种廉价的选择。

产生背景

基于HTML的应用程序之所以变得流行是由于应用系统的部署成本低、结构简单,且HTML易于学习和使用。很多用户和开发人员都乐于放弃由桌面计算机带来的用户界面改进,来实现对新数据和应用系统的快速访问。与丧失一些重要的UI功能相比,基于Web的方式所带来的好处要更大得多。

然而,某些应用系统并不完全适合采用HTML技术。复杂的应用系统可能要求多次提取网页来完成一项事务处理,在某些领域中,如医药和财务领域,这往往导致交互速度低得无法接受。让我考虑一个项目管理系统:我们可以将其实现为一个HTML应用系统,但是如果用户可以看到并且操作图表、进度表和各种层次结构,那么显然会工作得更好。

此外,虽然HTML开始走向简单,但是即使简单的交互活动也仍然需要用很多的脚本来完成。即使一个输入窗体

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可以播放执行的swf文件。这代表了以后网络界面技术的方向。

两家主要的RIA技术力量,一是Adobe的Flex,另一家是微软的silver light,银光。另外 javaFX 也支持,但java程序的单调界面没法和flash比,所以java爱好者认为基于java技术的RIA是用于工业应用的。Adobe是一家做图片和视频处理的超级厂商,其代表产品Adobe Photoshop和Adobe PDF reader成为人们离不开的产品。收购macromedia后,强强联合,网络图像处理的力量得到空前加强。基于 macromedia Flash的Flex,实力强劲,已经发布到4.0版。Flex基于eclipse开发,已经开源。但其企业版还是要600多美元。

silver light 是基于.net的,是.net的一个插件,支持跨平台和跨浏览器。支持高清视频(蓝光DVDHD-DVD)播放。支持多种脚本语言如ruby,python,javascript,c#等。它采用微软提供的visual studio和expression studio(类似flash用来生成矢量图形界面的) 来编写。但也可直接用文本编辑器来编写,可以生成矢量图形。

免责声明
隐私政策
用户协议
目录 22
0{{catalogNumber[index]}}. {{item.title}}
{{item.title}}