D盘

workspace
posts - 165, comments - 53, trackbacks - 0, articles - 0
  IT博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理
看到很多文章,似乎RIA就可以改变一切并且主宰未来。
冷静地看,RIA应该是对现有WEB操作的一种有力补充,标题中列出的任何一种技术也许都不会消失,但会有主流出现,还是相信那句:“Good enough!够用就好”

下面的文章来自转载:

目    录

1. RIA的概念

2. 什么推动软件技术革命?

3. RIA的历史和现状

4. RIA的技术实现

4.1 Adobe公司Flex 、AIR. 2

4.2 Microsoft公司Silverght、WPF/E. 3

4.3 Java阵营Applet、JavaFX和Java Web Start. 3

4.4 Ajax. 3

5. RIA技术所带来的挑战

6. 参考资料

 


RIA分析

1. RIA的概念

RIA(Rich Internet Application,富互联网应用系统)。这里的Rich是与传统的Html页面相比。Rich主要体现在丰富的客户操作相应。RIA必须要具有一下几个特点:

■        利用网络,具有服务器和客户端(浏览器其实也是客户端的一种)

■        丰富的客户操作响应

■        漂亮的界面

■        0成本部署

■        局部刷现界面

还有一些观点认为断网的情况下还可以继续使用程序,也使用应用程序,也应该是RIA的特性之一。我觉得那就没有必要使用RIA了。直接使用C/S结构多好。比如360安全卫士,每次启动都更新自己的库。也是一种很好的C/S结构。没有必要使用RIA技术了。

2. 什么推动软件技术革命?

纵观计算机软件发展历史,硬件+网络+用户需求+开发成本4种关键因素推动软件技术革命。RIA技术所需的硬件和网络已经成熟。客户对RIA的需求已经被GoogleMap、雅虎、微软等验证。只要开发成本不是非常巨大,开发公司会通过技术革新适应客户需求的发展。所以,RIA必然要取代传统Web页面,RIA大潮即将来临。

3. RIA的历史和现状

Macromedia 在2002率先提出RIA的概念。Macromedia在2005年已经被Adobe收购。

目前,RIA的技术实现主要有4种:

■        Adobe公司Flex、AIR

■        Microsoft公司Silverght、WPF/E

■        Java阵营Applet、JavaFX和Java Web Start

■        Ajax

Google的系列产品使用了Ajax技术。比如Gmail,GMap等等。Flex的应用有YahooMap和一堆不太知名的小网站。Silverght和JavaFX的应用好像不太多。

4. RIA的技术实现

4.1 Adobe公司Flex 、AIR

目前Flex已经发展到2了。

Adobe公司RIA有关的主要技术名词有:

Flex:通过非Flash的方式(Linux或window可执行文件)根据.mxml文件定义的commponent(组件,可以理解为界面的输入框等)组织结构,生成对应的.swf文件。主要包含两个技术MXML和ActionScript 3。Mxml用于界面描述。是纯xml文件。ActionScript是对ECMAScript改进后的产物,进行流程控制和逻辑判断的脚本,由FlashPlayer 9的核心AVM2虚拟机解析执行。Mxml相当于传统web中的html。ActionScript相当于JavaScript。区别是Mxml和ActionScript都是强类型的语言,语法要求更加严格。

Flex与Flash的关系:Flex技术的.mxml文件编译成swf文件后,交给flash player或者shockwave player解释执行。Flash与Flex就相当于J2SE和J2EE。Flex针对RIA对Flash进行了封装。Flex直接调用Flash的api,使用Flash完全可以做到Flex的效果。之所以只用Flex,主要是为了适应软件开发者的习惯,去掉一些对软件工程师没有意义的概念。因为Flash的传统应用领域是适量动画设计。

AIR:以前叫Apollo。通过这个平台各种网络应用程序可以离线操作。并具有访问本地资源的权限。类似与JAVA START。个人认为这个东西不会有前途。因为Flex的主要优势是Flash插件在浏览器中普遍存在。AIR反而抹杀了这个优势。

Flex Builder 2:基于Eclispe技术的用于Flex2开发的IDE,支持界面控件拖拽和代码助手这两个非常重要的功能。

Flex的主要优点:

1.已经有绝大部分的浏览器安装了播放Flash的插件shockwave player。这是Flex能够决定其在RIA领域霸主地位的的优势。

2.任何浏览器对Flash的执行效果都是一样的。也就是说Flex是跨浏览器,跨操作系统的。

3.下载速度和执行效率都还可以(对比Applet和flex2以前的版本)

4.界面更漂亮。

5.对开发人员更友好代码量更少,调试更方便(比Ajax)。Mxml非常容易学习。Flex Builder也是很好的开发利器。

6.Flex的Component(组件)库与JavaSwing对界面组件的设计非常相似。Java程序员学习起来比较容易。

4.2 Microsoft公司Silverght、WPF/E

Silverght貌似WPF/E的一个子集。

与Flex比较相似,也有一套基于xml的界面描述语言。叫xaml。使用javascript作为脚本。

Silverght的最大优势是他是微软的。也许在微软推出下一款操作系统后,Silverght的优势会逐步展现出来。

4.3 Java阵营Applet、JavaFX和Java Web Start

Applet和JavaWebStart是约十年前的东西了。但与今天的RIA缺惊人的相似。难道这是技术的轮回?

Applet的失败的主要原因jre插件没有在浏览器中普及。并且先当时的硬件和网络环境并不成熟,不能支持Applet的流畅的下载和运行。并且对开发人员不够友好。在界面方面需要编写代码,没有象mxml一样方便的编写方式。更没有FlexBuilder2这样可拖拽的IDE(也许后来出现了)。东西是个好东西,但生不逢时,又能怪谁那。

JavaFX是新出来的东东,没有仔细研究过。但由于Flash在浏览器中的优势,估计JavaFX没戏。

4.4 Ajax

Ajax是Html、Css、JavaScript几项技术的结合体。是个混血儿。有人说Ajax是一种过度技术。我并不同意这种说法。Ajax还是有其优势的。最大的优势是绝对的0成本部署,Flex还需要安装IE插件。

但由于Ajax所使用的技术并不是为RIA所设计的,所以Ajax有许多先天行的缺点。比如,调试麻烦。在界面显示方面html还是更加简捷方便。

在未来的几年中Ajax应该会在各种RIA技术的夹缝中生存并且与之完美的配合。也许,未来的Ajax和其他RIA技术的关系会象现在C和Java关系一样。

5. RIA技术所带来的挑战

RIA所带来的最大挑战是对设计人员的。因为可用的界面组件更丰富了,如何设计出用户看起来非常舒适、使用起来非常方便的界面,是摆在设计人员面前的首要问题。其次,对中国开发者来说中文资料的匮乏也可能会阻碍Flex在中国的发展。

6. 参考资料

http://soft.zdnet.com.cn/software_zone/2007/1026/580854.shtml                                 RIA说文解字

http://www.wujianrong.com/archives/2007/10/ajaxflashsilverlightjavafx.html、

http://www.tenlin.com/tag.php?tag=ria&mode=&mode=1

http://www.wallop.com

http://www.familk.com

http://lwz7512.javaeye.com/blog/51634

http://www.oracle.com/global/cn/oramag/oracle/04-jul/o44dev_trends.html              富互联网应用系统(RIA)一览

http://blog.csdn.net/hljlgj/archive/2006/11/15/1385603.aspx                     提高客户体验的RIA开发技术  

http://www.infoq.com/cn/news/2007/07/dhh-debates-ria-future                                                      争论又起,RIA的未来在哪里?

http://wangcheng.javaeye.com/blog/81160                      Flex 与 javascript 交互

http://www.awflasher.com/blog/tag/ria

http://sd.csdn.net/subject/ria.htm                  谁将引领RIA的发展方向

http://soa.csdn.net/subject/RIA.htm                 谁将引领RIA的发展方向

http://hi.baidu.com/minyuanyang

http://hi.baidu.com/minyuanyang/blog/item/faf6c61b4578e3d4ac6e7512.html                  Flex 如何能够转变 Web 上的用户体验

http://examples.adobe.com/flex2/inproduct/sdk/dashboard/dashboard.html*

http://www.doof.com/

……

只有注册用户登录后才能发表评论。