日期:2010-09-22  浏览次数:20953 次

从体验时代的@RIA邮件系统和@AJAX邮件系统分析RIA和AJAX

本文主要通过对RIA邮件应用和AJAX邮件应用的用户体验对比,按照对比分析的方式将体验中的感性升华为理性。同时,此文也可以给所有从事WEB工作的设计人员和开发人员以借鉴参考,也能普及RIA常识和AJAX常识。文章参考了一些网络上的文章和资源,希望作者体谅,呵呵反正非商业用途吧。主要参考资源有:http://www.richbox.com,http://xpgao.blogchina.com/3991873.html
http://gocom.primeton.com/modules/techresource/article_page.php?linkid=319
http://www.ljxt.com/blog/post/113.html
感谢这些资源提供者

---------------------------------------------------------
RIA应用之Goowy 邮件
http://www1.goowy.com

AJAX应用之Google邮件
http://mail.google.com
---------------------------------------------------------

AJAX与RIA共性:
都是WEB2.0的应用
都具有人性化的设计理念

AJAX与RIA不同:
AJAX比较简单素雅,人性化,访问速度快。缺点:代码混乱,编写复杂,不符合标准,对搜索引擎不友好。程序效率低。
RIA可扩展性更大,人性化更多,视觉和互动上更好,但缺点是访问速度慢,下载文件大,还有RIA应用程序特别耗CPU,程序效率比较低,很多问题还需要解决。

---------------------------------------------------------
RIA
---------------------------------------------------------

富互联网应用系统(RIA)简介:RIA基础:RIA入门

请关注那些超越正在失去生命力的HTML标准的技术

在过去的大约两年中,人们的兴趣一直是想构建一个"富客户端":这是一个用户接口,它比用HTML能实现的接口更加健壮、反应更加灵敏和更具有令人感兴趣的可视化特性。RIA(Rich Internet Application,富互联网应用系统)技术允许我们在因特网上以一种象使用Web一样简单的方式来部署富客户端程序。无论将来RIA是否能够如人们所猜测的那样完全代替HTML应用系统,对于那些采用胖客户端技术运行复杂应用系统的机构来说,RIA确实提供了一种廉价的选择。 

在本专栏中,我将列举一些当前的RIA产品和技术,并且提供一些如何开始应用这些产品和技术的启示。在DevTrends站点和即将发行的近几期Oracle Magazine杂志上,我将详细探讨使用Oracle平台部署RIA的特定技术和策略。 

为什么用RIA?

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

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

此外,虽然HTML开始走向简单,但是即使简单的交互活动也仍然需要用很多的脚本来完成。即使一个输入窗体经过仔细的布置和全面的脚本设计,它从浏览器所能发送的也仅仅是简单的"名字/值"对。如果一个HTML窗体能够以XML文档形式发送和接收更复杂的数据结构,那就好多了。 

RIA利用相对健壮的客户端描述引擎,这个引擎能够提供内容密集、响应速度快和图形丰富的用户界面。除了提供一个具有各种控件(滑标、日期选择器、窗口、选项卡、微调控制器和标尺等)的界面之外,RIA一般还允许使用SVG(Scalable Vector Graphics,可伸缩向量图)或其他技术来随时构建图形。一些RIA技术甚至能够提供全活动的动画来对数据变化作出响应。 

RIA的另一个好处在于,数据能够被缓存在客户端,从而可以实现一个比基于HTML的响应速度更快且数据往返于服务器的次数更少的用户界面。对于无线设备和需要偶尔连接的设备来说,将来的趋势肯定是向富客户端的方向发展,并且会逐渐远离基于文本的Web客户端。那些运行在膝上设备上的应用系统,可以被设计成以离线方式工作,或者至少当连接丢失的时候能基本上以离线的方式工作。 

图1给出了一个典型的RIA体系结构。XML通常被用作数据传输的格式,有时也被用来描述窗体的布局。在很多的实例中,客户端可以保持与数据源的连接,这样服务器能够实时地对客户端数据进行更新。对一个Oracle数据的访问可以通过Web服务调用来完成。 


图1

用于富客户端的技术

下面是一些可用的RIA技术: 

Java:一些相当复杂的客户端应用程序(Oracle的JDeveloper,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标准的大门),以及与大多数其他X