|
知识路径: > 软件工程 > 软件体系结构风格 >
|
相关知识点:13个
|
|
|
|
为了弥补B/S结构存在的一些不足,提高用户体验,RIA应运而生。RIA是一个用户接口,它比用HTML能实现的接口更加健壮、反应更加灵敏和更具有令人感兴趣的可视化特性。RIA结合了C/S结构反应速度快、交互性强的优点与B/S结构传播范围广及容易传播的特性。RIA简化并改进了B/S结构的用户交互。这样,用户开发的应用程序可以提供更丰富、更具有交互性的用户体验。
|
|
|
|
RIA利用相对健壮的客户端描述引擎,提供内容密集、响应速度快和图形丰富的用户界面。除了可以提供具有各种控件的界面之外,一般还允许使用SVG(Scalable Vector Graphics,可伸缩向量图)或其他技术来随时构建图形。一些RIA技术甚至能够提供全活动的动画来对数据变化作出响应。
|
|
|
RIA的另一个好处在于,数据能够被缓存在客户端,从而可以实现一个比基于HTML的响应速度更快且数据往返于服务器的次数更少的用户界面。对于无线设备和需要偶尔连接的设备来说,将来的趋势肯定是向富客户端的方向发展,并且会逐渐远离基于文本的Web客户端。
|
|
|
|
一个新的技术是否能够被广泛地应用,与该技术的支持平台的多少以及平台功能是否强大、是否易用等因素密切相关。下面我们就来简单介绍一下支持RIA的技术平台。
|
|
|
(1)Flash/Flex。今天,几乎每个人都可以使用基于Flash的RIA。Flex是为满足希望开发RIA的企业级程序员的需求而推出的表示服务器和应用程序框架,它可以运行于J2EE和.NET平台。Flex应用程序框架由MXML(Macromedia XML)、ActionScript 2.0及Flex类库构成。开发人员利用MXML及ActionScript 2.0编写Flex应用程序。利用MXML定义应用程序用户界面元素,利用ActionScript 2.0定义客户逻辑与程序控制。Flex类库中包括Flex组件、管理器及行为等。该语言由Flex服务器翻译成SWF格式的客户端应用程序,在Flash Player中运行。
|
|
|
(2)Bindows。Bindows是用Javascript和DHTML(Dynamic HTML,动态HTML)开发的Web窗体框架。JavaScript用于客户端界面的显示和处理,XML和HTTP用于客户端与服务器的信息传输。Bindows的一个主要缺点是它采用一次全部载入的方式来实现脚本库,在窗口的加载期,需要一个漫长的等待过程,甚至浏览器的进程会产生无响应的情况。这点Bindows根本没有遵循“用多少取多少”的准则。另外,内部大量利用了IE(Internet Explorer)的技术,没有考虑到非IE的浏览器,限制了Bindows的流行。
|
|
|
(3)Java。一些相当复杂的客户端应用程序(如Eclipse)都是用Java编写的,这说明可以用Java来建立几乎任何一个能够想象得到的RIA。开发人员可以利用Java编写Applet代码,而且能够提供几乎所有编程语言所具备的完整灵活性。不过,在实际应用中,Applet的下载和执行性能较差,在不同操作系统上的执行也很不连贯。因此,虽然Java是最受欢迎的服务器端代码开发平台之一,但它的Applet在实际应用中并不是非常普及。使用Java建立RIA的主要缺陷是它的复杂性(即使对简单的窗体和图形也要求编写非常繁琐的代码)。
|
|
|
(4)Ajax。Ajax用来描述一组技术,它使浏览器可以为用户提供更为自然的浏览体验。借助于Ajax,可以在用户单击按钮时,使用JavaScript和DHTML立即更新用户界面,并向服务器发出异步请求,以执行更新或查询数据库。当请求返回时,就可以使用JavaScript和CSS来相应地更新用户界面,而不是刷新整个页面。最重要的是,用户甚至不知道浏览器正在与服务器通信,Web站点看起来是即时响应的。Ajax是由几种蓬勃发展的技术以新的方式组合而成的,包含:基于XHTML(eXtensible HyperText Markup Language,可扩展超文本标识语言)和CSS(Cascading Style Sheets,层叠样式表)标准的表示;使用DOM(Document Object Model,文档对象模型)进行动态显示和交互;使用XMLHttpRequest与服务器进行异步通信;使用JavaScript绑定一切。
|
|
|
(5)Laszlo。Laszlo是一个开源的RIA开发环境。使用Laszlo平台时,开发者只需编写名为LZX的描述语言(其中整合了XML和JavaScript),运行在J2EE应用服务器上的Laszlo表示服务器会将其编译成SWF格式的文件并传输给客户端展示。从这点上来说,Laszlo的本质和Flex是一样的。
|
|
|
(6)XUL(XML User Interface Language,基于XML的用户界面语言)。XUL可用于建立窗体应用程序,这些应用程序不但可以在Mozilla浏览器上运行,而且也可以运行在其他描述引擎上。XUL描述引擎都非常小(通常都在100KB以下),它既可以使用XML数据,也可以生成XML数据。XUL最大的优点在于它与Gecko引擎的集成,与大多数其他XML用户界面描述语言相比,它是一种非常具有表达力和简洁的语言。
|
|
|
(7)Avalon。Avalon是Vista的一部分,是一个图形和展示引擎,主要由新加到.NET框架中的一组类集合而成。Avalon定义了一个在Longhorn中使用的新标记语言,其代号为XAML(eXtensible Application Markup Language,可扩展应用程序标记语言)。可以使用XAML来定义文本、图像和控件的布局,程序代码可以直接嵌入到XAML中,也可以将它保留在一个单独的文件内。这与Flex中的MXML或者Laszlo中的LZX非常相似。不同的是:基于Avalon的应用程序必须运行在Longhorn环境中,而Flex和Laszlo是不依赖于平台的,仅仅需要装有Flash播放器的浏览器即可。
|
|
|