资源预览内容
第1页 / 共20页
第2页 / 共20页
第3页 / 共20页
第4页 / 共20页
第5页 / 共20页
第6页 / 共20页
第7页 / 共20页
第8页 / 共20页
第9页 / 共20页
第10页 / 共20页
亲,该文档总共20页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第1章Flex概述Flex概述Adobe Flex是一个开发RIA(Rich Internet Applications,富客户端互联网应用程序)的应用框架。RIA将桌面应用程序响应性和丰富性与Web应用程序广度结合在一起,以满足用户更为直观和极具交互性的在线体验。本章以最新的Flex 3.0为例,向读者详细讲解什么是Flex、Flex的技术框架、Flex与服务器端通信的方式以及如何搭建Flex 3.0的开发环境等内容。 了解Flex的概念 熟悉Flex的技术架构及各部分的作用 熟悉MXML的命名规范和文件结构 掌握ActionScript的使用方式 了解Flex与Flash、AJAX的联系 了解Flex与服务器端通信的方式 掌握Flex 3.0的环境配置方法1.1 Flex简介Flex最初是由Macromedia公司推出的一个全新解决方案。这个解决方案是基于该公司Flash产品技术的一个表示层架构。它满足了某些IT开发人员的需要。他们希望开发一种应用程序,这种程序既有桌面应用程序的响应性与丰富性,又具有Web传播范围广的特性即RIA。Flex发展到1.5版本的时候,Macromedia公司被Adobe公司收购,Adobe公司在Flex 1.5的基础上大力发展Flex并推出了Flex 2.0版本,并在2008年推出了Flex 3.0的最新版本。Flex驻留在组织的N层应用程序模型的表示层,使用在客户端运行的可执行代码,作为当前一代HTML的补充。Flex具有基于标准的、用户熟悉的编程方法及工作流,强大的类库可创建表示层,从而提供更有效、更真实的终端用户体验。Flex应用程序与传统HTML应用程序的主要区别在于,Flex应用程序处理最适合在客户端运行,如字段校验、数据格式、分类、过滤、工具提示、合成视频、行为及效果等。Flex可使开发人员更好地执行应用程序,这种应用程序使用户可以迅速反应,在不同状态与显示时流畅过渡,并提供毫无中断的连续性工作流。Flex使用基于XML的MXML语言描述应用程序的用户交互界面,再通过Flex编译器将MXML编译成为SWF文件,用户通过Flash Player执行SWF文件访问应用程序。Flex虽然是一种全新的表示层方案,但是Flex能够很好地与已有的工具、应用服务器和数据库结合起来。使用Flex可以增加一个强大的表示层,从而提高应用程序的效率。通常情况下,可以将基于Flex的用户界面与现有的业务逻辑组件或者Web服务连接起来,而无需做任何改动。Flex 3.0与前一个版本Flex 2.0相比有了很大的改进。比如增加了大量的组件,全面支持AIR的开发等。同时,它也增加了对模块化开发的支持。1.2 Flex技术框架Flex技术包括MXML、ActionScript和Java技术,其中最重要的是MXML技术和ActionScript技术。Flex包括以下几个主要技术框架: 描述应用程序界面的XML语言(MXML)。 符合ECMA规范的脚本语言(ActionScript),处理用户和系统的事件,构建复杂的数据模型。 一个基础类库。 运行时的即时服务。 由MXML与ActionScript文件生成SWF文件的编译器。1.2.1 MXML语言MXML是一种描述Flex应用的XML 1.0语言。MXML与HTML很像,MXML也是通过一组标签集来定义用户界面的,但是MXML提供的标签集比HTML更加丰富。MXML文件将Flex项目中的所有文件组合在一起,形成一个有机的整体。而在编译 时MXML会转化成ActionScript。因此,可以简单地将MXML结构理解成一种动态的ActionScript类。1MXML命名规范MXML是一种XML语言,使用它可以布置Adobe Flex应用程序的用户界面,还可以定义其他的方面,如存取服务器端的数据、将用户组件与服务器端数据源进行绑定等。MXML看起来与大众所熟悉的HTML很类似。然而,MXML更为结构化,并提供更为丰富的标签集。MXML与HTML之间最大的不同之处在于,以MXML所定义的应用程序将被编译成SWF文件并由Flash Player进行渲染,提供比HTML程序更为丰富和动态的用户 界面。MXML区分大小写,而且文件名和变量名都区分大小写。字母大小写错误是编程中常见的错误,隐蔽性较高,有时很难排查。所在,建议读者在编写代码时,应该采用合理的命名规范,避免出现这类错误。在Flex程序中,每个MXML文件都必须以小写的mxml作为后缀,文件名要遵循ActionScript中变量的命名规则。因为在程序中,所有的MXML文件都被视为用户自定义的组件,相当于一个对象,可以使用代码动态创建。也就是说,MXML文件可以直接被ActionScript当作一种用户定义的数据类型来使用。因此,MXML文件不能和Action类文件同名,否则就会造成类型冲突。在ActionScript中,变量名称必须以字母或下划线开始,且只能包含字母、数字和下划线。需要注意的是,MXML文件不能命名为application。因为,application是主程序文件所采用的默认标记,不可以再被标记,也不能和程序中任何一个组件的id值相同。例如,下面是MXML Application文件FirstFlex.mxml的源代码:现在将Label组件的id属性尝试设置为与文件名相同的FirstFlex,如下所示:此时,如果编译则将无法通过,会看到提示为identifier and class may not have the same name.的错误提示信息。这说明,组件的唯一id属性不可以与对象名相同。另外,还需要注意的是,程序中不可以使用mx作为目录名。因为mx是Flex Framework官方组件的命名空间,受到Flex编译器的保护。假设在程序中创建了名为mx的目录,这个目录中存放的MXML文件和ActionScript类文件都将无法使用,将会被编译器忽略。为了避免文件名冲突,同时也为了增强程序的可读性,文件和变量一般应该采用有意义的单词、名词简写或字符组件来命名。如下列出了一些命名建议: 为了增加程序的可读性,可在前面加一个表示其类型号的前缀,名称也尽量使用能代表该变量用处的单词。例如,strName、intCount、pnlLogin、btnSend和txtUserPwd等。 使用下划线组合单词,例如,User_Name、User_Email、Product_List、Move_Speed等。 常量全部使用大写,例如圆周率用PI表示,单击事件名用CLICK_EVENT表示。2MXML文件结构MXML文件其实就是一个标准的XML文件,因此可以参照XML语法来分析MXML文件的内容。例如下面的一段代码:在XML文件中,需要在第一行声明XML文件采用的语法版本号和文件采用的编码格式。从上面的代码中可以看到这两个属性:version和encoding,其中encoding编码格式这个属性可选。选定的编码格式必须符合采用的编码格式,默认为utf-8。在中文操作系统中,一般使用utf-8这个编码格式,它兼容采用双字节编码的语言和其他常见的西方语言,而且可以跨平台,也是使用最广泛的编码格式。另外,也可以使用简体中文的专用编码格式gb2312。mx:Application标签是一个特殊的标签。在每个Flex项目中,可能有多个MXML文件,但作为程序入口运行的只有一个,即主文件的标识是根节点为mx:Application。另外,在一个MXML文件中只能出现一个mx:Application标签。在mx:Application标签中,还看了一个属性:xmlns:mx=http:/www.adobe.com/2006/ mxml,表示将mx定义为XML的命名空间。xmlns标签专门用来定义MXML文件的命名空间,XML命名空间可以用来定义一套独立的XML标签,并且为这些标签指定特殊的解析方式。例如,XML中默认的标签格式为node,这里Button节点被看作一个普通文本节点,没有其他特殊意义。定义命名空间后,在节点上加上空间前缀:,这时mx:Button就代表mx命名空间下的Button对象。mx命名空间对应的路径是http:/www.adobe.com/2006/mxml,Flex的配置文件将这个路径定义为一个全局资源标识符,并对应了一个XML文件。在这个文件中列出了mx这个命名空间下的所有标签。在Flex Builder 3的安装路径下,进入sdks3.0.0frameworks目录中,找到flex-config.xml文件并使用记事本打开,会看到如下的内容: http:/www.adobe.com/2006/mxml mxml-manifest.xml 从上面的配置中发现,代码中有http:/www.adobe.com/2006/mxml这个URI和mxml-manifest.xml文件对象。下面打开同目录下的mxml-manifest.xml文件。在该文件中列出了MXML中的所有标签和与标签关联的文件路径。如下列出的是其中部分内容: component id=Window mx.c
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号