|
知识路径: > 软件架构基础知识 > 软件架构的风格 > 软件架构风格 > 富互联网应用 >
|
相关知识点:2个
|
|
|
|
一个新的技术是否能够被广泛应用,与该技术的支持平台的多少以及平台功能是否强大、是否易用等因素密切相关。下面就来简单介绍一下支持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。Bindow是用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(Asynchronous JavaScript and XML,异步JavaScript和XML)。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播放器的浏览器即可。
|
|
|