什么是RIA

来源:互联网 发布:淘宝流量突然下降一半 编辑:程序博客网 时间:2024/05/22 13:39
1.         什么是用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客户端。那些运行在膝上设备上的应用系统,可以被设计成以离线方式工作,或者至少当连接丢失的时候能基本上以离线的方式工作。 

3.         用于富客户端的技术 

Java:

一些相当复杂的客户端应用程序(Eclipse)都是用Java编写的,这说明可以用Java来建立几乎任何一个能够想象得到的富客户端应用程序。到目前为止,Java已经出现几年了,并且完全支持创建基于窗体的用户界面。除了Java基础类(JFC/Swing)中的用户界面组件之外,开发人员还可以使用来自于Eclipse Project的SWT工具箱和许多第三方工具箱进行开发。对于图形来说,可以采用Java 2D API--一个非常完整且非常复杂的图形API。Java还具有对XML和Web服务无人匹敌的支持能力。你可以通过一个Web浏览器使用Java插件软件,或使用Java运行时环境中较新的Java Web Start技术来部署应用程序。使用Java建立富客户端程序的主要缺陷是它的复杂性(即使对简单的窗体和图形也要求编写非常烦琐的代码)。它的优点在于Java对Web标准的全面支持,及该语言和类库的深刻内涵。

XUL:

XUL(念作"zool")是一个基于XML的用户界面语言,它来自于Mozilla的开放源码项目。它可用于建立窗体应用程序,这些应用程序不但可以在Mozilla浏览器上运行,而且也可以运行在其他描述引擎上,如Zulu(一个Flash MX组件)和Thinleys(一个Java实现)。XUL描述引擎都非常小(100K以下),它可以使用XML数据也可以生成XML数据。同Java的情况一样,XUL也有一个非常大的用户团体,这个团体有大量的开放源工具,如Theodore ThinletEditor——一个使你能够以图形化方式布局用户界面,且可以生成相应XUL的Java应用程序。XUL的一个主要缺点在于它目前还没有获得一个主要商业实体的支持。XUL最大的优点在于它与Gecko引擎的集成(打开了通向大量Web标准的大门),以及与大多数其他XML用户界面描述语言相比它是一种非常具有表达力和简洁的语言。 

Macromedia Flash和Flex:

Flash是一个已经成熟的商业产品,它可以在Web网页中引入交互式的图形界面。最近经过升级后,新版本包含了建立窗体风格的应用程序的功能。尽管Flash作为一个在Web上最广泛部署的前端技术还有争议(取决于所选用的Flash Player版本),但据称已经有98%以上的桌面系统都支持Falsh。由于用来创建动画式图形的Flash工具其功能十分强大和是可视化的(与之相反其它技术要求进行低级的图形编码),所以图形设计人员使用起来十分得心应手。Flah采用的脚本语言是ActionScript--ECMAScript 1.5的一个变种,该脚本语言又被称为JavaScript。Flex产品对Flash增加了一个XML描述语言,使得可以编译用户界面,并且能够用Flash Player来随时进行描述。Flex使得传统的开发机构能更好地了解和使用Flash。Flex和Flash的最大缺点在于对XML和Web服务等标准的支持很有限,而且作为应用开发工具的环境还不大成熟。Flex和Flash的优点在于它可以很容易的用来创建复杂的动画式显示,以及可以使用第三方附件。

 Oracle Forms:

Oracle Forms是用来构建以数据库为中心的互联网应用系统的一个成熟的商品化产品。通过Oracle Forms,你可以使用一个输出窗体模块文件的可视化设计器创建窗体。为了便于在该设计工具外部进一步进行处理,模块文件要么采用私有的FMT格式,要么采用XML格式。这些模块文件驱动一个描述窗体的Java运行时环境。除了所有窗体的标准窗口小部件之外,还可以通过集成附加的可插入的Java组件和一些定制的JavaBean来实现更多的功能性。Oracle Forms采用的脚本语言为PL/SQL,Oracle数据库也采用同样的脚本语言。Oracle Forms的一个非常有趣的特点就是,用来建立、编辑和编译窗体模块文件的Java API--开发人员可以通过创建脚本来生成众多的窗体应用程序,或者进行全局性的改动。Oracle Forms的主要缺点是,进行Web部署需要获得Oracle应用服务器的使用许可。它的优点是,它可以与Oracle数据库和Oracle平台的其他部分(如Single Sign-On(单一登录)和Enterprise Manager(企业管理器))紧密集成,对国际化的广泛支持,以及创建以数据为中心应用程序的极高效率

=============================

今天,富应用正在全世界范围内向我们快步走来,而且有些领域已经显露出来。今天早晨我在Macromedia's MAX开发者大 会上每个类别都举了一些例子——现在我把它们的连接放到这里:

1,Expressive Content(富有表现力的内容)
第一个类别是Expressive Content,这也是flash首创的。在flash继续在低带宽的网络下被用来创造更好的用户体验时, 我们已经注意到了在宽带网络上的对更好的用户体验的需求正在迅速增加。最好的例子是网络视频。flash无疑是占有率 第一的视频播放软件(占有率超过了96%)。这意味着用户不必再去选择用什么播放器软件,flash都能搞定。

Toyota Isis
http://toyota.jp/sp/isis/

Philips Home Entertainment
http://www.home-entertainment.philips.com/site/

Red Bull Copilot
http://www.redbullcopilot.com/


2. Guided Selling(导购/引导购物)
现在许多人都开始在网上购物,这也使我们有机会创造更多的交互体验。这将要求有在线查找商品,整合所选商品,然后 去结帐这个过程。这将有机会让我们创造更好的交互体验,并且我们看到flash将会变得更加有用。在下面这些例子中, 你会看到flash有助于增加用户反馈和减少错误——结果会增加用户的满意率,从而增加更多的回头客。

Nike iD
http://nikeid.nike.com/nikeid/index.jhtml;nisessionid=C0SXJQBOX3VB4CQCGJECF3Y?_requestid=580454

Vodafone (click on the Handy Finder item) 
http://www.vodafoneshop.de/shop/main/index.cfm


3. Visual Analysis (视觉化分析)
在日常工作中,大量的信息使人们很难从中筛选有用的信息。创造RIA通过特别的信息导航,使用户能够从中得到更深层 次的理解,更快的做出决定。

New York State Kids
http://www.nyskwic.org/access_data/map_select.cfm

4. Streamline Business Processes(线性商业过程)
好的用户体验不仅在internet上很重要,在企业内网上也同样重要。富应用将有助于减少错误,降低成本。下面的例子是 企业内网的程序,在共网上将无法观看。包括可以在PC和行动装置上使用的Mazda's auto sales support application, 和用flash做前台的ERP程序Seven Worldwide,都被公认为是世界上有史以来最大的flash应用程序,里面有成千上万行的 as。RIA是很好得保留了桌面程序交互性的企业内部的解决方案。

PC and Mac Zones (screen recording of customer service rep app)
http://www.macromedia.com/cfusion/ondemand/ondemand_extra.cfm?id=605&type=2


5. Effortless Communication (毫不费力的交流) 
flash能够在互连网上提供更好的交流解决方案,特别是视频技术发展很快的今天。flash能够使人们通过一对一或一对多 ,实时或离线的接受信息。
 
原创粉丝点击