随着网络技术的发展,多媒体信息以更快的速度在网络上传播,特别是图形图像,视频音频信息的传播,更加展现了网络的魅力。Flash使我们对网络有了更新、更加激动人心的体验。
Flash的首要特点是网络动画的传播,它可以把多媒体信息集成在一起,并且编译成SWF格式。在保持信息量不变的前提下,使集成后的媒体容量更小。它提供了一个称为富媒体客户端(Rich Media Client)的东西,富媒体客户端是一个在内容、通信、以及应用程序上具有高度继承性的瘦客户端(Thin-Client)。正是由于这样的特性使得Flash动画在网络上大为传播。
但是,就Flash本身而言,它并非仅仅局限于动画制作。随着Flash的发展,一种新的脚本语言也出现了,Macromedia公司称之为:Actionscript。它提供了对Flash 的数据处理、对象控制以及服务器的数据通信等功能,同时也丰富了Flash的用户接口,使创建具有强大交互性的富因特网应用程序( Rich Internet Application, RIA )成为可能。
富因特网应用程序(Rich Internet Applications,RIA)利用具有很强交互性的富可客户端技术来为用户提供一个更高和更全方位的网络体验。RIA集成了桌面应用的交互性和传统Web应用的部署灵活性与成本分析,以创建单一而完整的用户体验。富客户端技术使创建RIA成为可能,它提供一个运行时的环境以承载被编译的客户端应用程序,该客户端应用程序是一个使用HTTP协议发布的文件。客户端应用程序使用异步的C/S结构连接到现有的应用服务器,这是一种安全的、可升级的、具有良好适应性的面向服务模型,这种模型由当前所采用的Web服务驱动。
富客户端技术正在不断地完善中,但并不意味着会取代HTML。相反它将进一步扩展浏览器功能,使之提供更加高效和友好的用户接口。许多RIA都在浏览器中运行,甚至它本身就是HTML的一部分,所以HTML将继续保持其原有的角色。另外,由于富客户端技术可以支持运动的图象、视频、音频、双向的数据通信和创建复杂的窗体,它为创建应用程序用户接口提供了一个高效而完善的开发环境。
RIA开发必须具备三个要素:富客户端技术、服务器技术和开发工具。富客户端技术充分利用本地机器的处理能力来处理数据,而不需要把某些数据发送到服务器处理,充分利用了本地机器的资源。服务器技术提供了一种与富客户端的连接机制,作为RIA的服务器技术必须从现有的服务器技术继承,可以提供一个快速的脚本环境,支持数据库应用开发、双向数据通信、实时数据通信,甚至采用一种新的服务器,例如:ColdFusion Server和Flash Communication Server等。RIA实现必须有一组简单而高效的开发工具,如果没有一组简单而高效的开发工具,那么富客户端技术与服务器技术是毫无意义的。正是由于RIA的C/S结构,它需要一组开发工具协同工作才可以完成。最新的Macromedia MX 2004 ,正是为了实现这样种技术而开发的,它可以简单而快速地得到下一代的因特网应用解决方案。
Macromedia MX 2004 原有的基础上增加了一些新的功能特性,它为开发RIA提供了必要的条件。Macromedia MX 2004 利用 Flash Player 7来实现富客户端技术。而服务器通常会是一般的网络服务器,如 IIS,Macromedia 同时也提供了他们自己的服务器,如前面提到过的ColdFusion Server和Flash Communication Server。就开发工具而言,Macromedia Flash MX Professional 2004,是一个强有力的开发工具,它是实现RIA客户端的一个关键元素,一方面Flash Player 7为用户接口提供了运行时的环境,而同时Flash MX Professional 2004又为RIA的开发提供了一个简单而高效的客户端开发工具。
尽管目前有许多富客户端技术,但是Macromedia Flash Player却被广泛采用,它已经逐渐成为富客户端技术的网络标准。Flash Player 已经是一个无处不在的富媒体客户端,它可以在不同的浏览器和操作系统上运行,所以它是一个跨平台、跨操作系统的网络客户端。
RIA实现包括三个关键技术,其中包括了服务器技术。服务器技术包含了相当广泛的内容,在这里不做具体和细致的讨论。这里所要讨论和研究的是RIA的客户端技术和开发工具,也就是对Macromedia Flash MX Professional 2004的讨论,当然也并不是完全不涉及到服务器技术,在讨论到服务器与客户端数据通信时将简单涉及服务器技术,但也只是针对微软IIS服务器。
在开始讨论RIA开发之前,首先简单介绍Flash的历史和发展,接着将从以下几个方面来讨论Flash RIA开发的具体细节:
1、Flash 中的媒体组织方式:Flash 如何组织媒体对象,媒体对象的生存期和作用域,以及简单Flash Player 运行机制。
2、Flash OOP 和组件开发:Flash Actionscript 2.0基本数据结构和语法,并使用它来创建类和接口;如何将类与媒体对象(主要指MovieClip)关联,如何在脚本中实现控制和交互;如何使用和创建 Flash V2组建等相关内容。
3、Flash 数据通信与简单服务器技术:使用基本的方法和函数,实现与服务器的数据通信以及服务器将如何接收和处理Flash Player发送的数据。