RIA现在的发展态势及未来预测

2008-02-23 05:39:53来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

  1.RIA门前的发展态势

  在过去的几年中,Web研发人员一直是想构建一种比传统HTML更丰富的客户端:这是个用户接口,他比用HTML能实现的接口更加健壮、反应更加灵敏和更具备令人感兴趣的可视化特性。RIA技术的出现允许我们在因特网上以一种像使用Web相同简单的方式来部署富客户端程式。无论将来RIA是否能够如人们所猜测的那样完全代替HTML应用系统,对于那些采用C/S架构的胖客户端技术运行复杂应用系统的机构和采用基于B/S架构的瘦客户端技术部署Web应用系统地机构来说,RIA确实提供了一种廉价的选择。下面介绍一下现在出现的几种比较有实力或有特点的RIA客户端研发技术:

  1) Macromedia Flash/Flex

  Flash 从6.0开始Flash就逐步具备建立窗体风格的应用程式的功能。据Macromedia称已有98%以上的桌面系统的浏览器都安装了 Macromedia Flash Player。这使得以Macromedia Flash Player为客户端的RIA能够支持种类广泛的平台和设备。

  Flex是为满足希望研发 RIA的企业级程式员的需求而推出的表示服务器和应用程式框架,他能够运行于J2EE和.NET平台。Flex表示服务器提供基于标准的、声明性的编程方法和流程,并提供运行时服务,用于研发和部署丰富客户端应用程式的表示层。Flex研发者使用直观的基于XML的MXML来定义丰富的用户界面。该语言由 Flex服务器翻译成SWF格式的客户端应用程式,在Flash Player中运行。

  2) Laszlo
  
  Laszlo 是个开源的RIA研发环境。使用Laszlo平台时,研发者只需编写名为LZX的描述语言(其中整合了XML和Javascript),运行在J2EE 应用服务器上的Laszlo平台会将其编译成SWF格式的文档并传输给客户端展示。从这点上来说,Laszlo的本质和Flex是相同的。Flash是任何浏览器都支持的展示形式,从而一举解决了浏览器之间的移植问题。而且,在未来的计划中,Laszlo还能够将LZX编译成Java或.NET本地代码,从而大大提高运行效率。

  3) Avalon
  
  Microsoft的Avalon是下一版本的 Windows(代号"Longhorn")的一部分,是个图像和展示引擎,主要由新加到.NET框架中的一组类集合而成。Avalon定义了一个在 Longhorn中使用的新标记语言,其代号为"XAML"(可扩展应用程式标记语言)。能够使用XAML来定义文本、图像和控件的布局,程式代码能够直接嵌入到XAML中,也能够将他保留在一个单独的文档内。这和Flex中的MXML或Laszlo中的LZX很相似。不同的是:基于 Avalon的应用程式必须运行在Longhorn环境中,而Flex和Laszlo是不依赖于平台的,仅仅需要装有Flash播放器的浏览器即可。

  4) Java SWT
  
  Java 已出现几年了,并且完全支持创建基于窗体的用户界面。除了Java基础类(JFC/Swing)中的用户界面组件之外,研发人员还能够使用来自于 Eclipse Project的SWT工具箱和许多第三方工具箱进行研发。对于图像来说,能够采用Java 2D API:一个很完整且很复杂的图像API。您能够通过一个Web浏览器使用Java插件软件,或使用Java运行时环境中较新的Java Web Start技术来部署应用程式。使用Java建立Rich Client的主要缺陷是他的复杂性(即使对简单的窗体和图像也需要编写很烦琐的代码)和Java浏览器插件的低市场占有率。

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

  6) Bindows
  
  Bindow 是用Javascript和DHTML研发的Web窗体框架。Javascript用于客户端界面的显示和处理,XMLHTTP用于客户端和服务器的信息传输。Javascript在客户端的表现力不容置疑,利用Javascript几乎能够实现Windows应用程式所能干的大部分事情,XMLHTTP 一直以来常被用于实现"无刷新"的Web页面,他和 Javascript配合,能够完成数据从服务器和客户端的传输。Bindows的一个主要的缺点是他采用一次全部载入的方式来实现脚本库,在窗口的加载期,需要一个漫长的等待过程,甚至浏览器的进程会产生无响应的情况。这点Bindows根本没有遵循"用多少去多少"的准则。另外,内部大量利用了IE6 的技术,没有考虑到非IE的浏览器,限制了Bindows的流行。

  2. RIA未来的发展预测

  就现在RIA的使用情况来说,离"RIA时代"更有很远的一段距离。今后几年时间内传统的Web应用程式和RIA将会共存。笔者认为真正具备实力担当起普及丰富客户端应用重任的只有基于Flash Player的Flash/Flex应用程式和Microsoft的基于Avalon的应用程式。短期时间内(估计2-3年时间)可能是 Flash/Flex应用程式在新兴的网络应用程式市场上占有主导地位。随着时间的推移,Flash/Flex应用程式的市场占有率可能会慢慢被基于 Avalon的应用程式所蚕食。当然,Flash Player和Flex以后也会不断推出新版本,相对于升级操作系统或安装Avalon运行环境,人们肯定更愿意升级Flash Player。Flash/Flex应用程式也有其本身固有的软肋,Flash Player的执行效率和对本地资源的操作限制是无法和Avalon相比的,相对于浏览器中的插件而言,Avalon的应用程式拥有更加广阔的可操作空间和更高的执行效率。

  现在Microsoft还在推广一种叫做Smart Client(智能客户端)的客户端程式技术,Microsoft称Smart Client是比Rich Client更优秀的客户端,因而采用Smart Client的应用程式算不算RIA现在我个人还无法作答。这里我们之所以提及Smart Client,是因为Smart Client的特性跟我们谈的Rich Client有太多的相似之处。Smart Client拥有自动更新、离线状态下的数据处理和能够使用本地资源等特征,其中的可使用本地资源这一项无疑是一大卖点,因为浏览器中的 Flash/Flex应用程式现在还无法操作本地的一些资源,比如Flash/Flex应用程式无法将网上的文档保存到本地或修改本地文档。虽然 Macromedia的Central1.5已能够对本地文档进行简单的操作,并且flex1.5研发的RIA也能够运行于Central上,但是如何使Central能够得到大范围推广还是个问题。相对于轻量级的Rich Client,Smart Client更接近C/S架构中的客户端程式。Rich Client和Smart Client的定位还是有所区别的:Rich Client更适合作为轻量级的基于浏览器的网络应用程式客户端;Smart Client更适合作为Windows桌面应用程式的智能客户端。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇: C 引用计数的智能指针有效回收方法[3]

下一篇: 简单屏幕烟花程式