快捷搜索:

Macromedia Flex 标记语言简介

MacromediaFlex标记语言简介

  Flex是一个在J2EE应用服务器或servlet容器安装的展现服务器。它拥有丰富的用户界面组件、用于排布这些组件的基于XML的标记语言,以及可以处理用户交互的面向对象编程语言。这些技术的给我们带来的是:使用Flash播放器渲染复杂Internet应用,使用工业标准和开发者熟悉的方式进行开发。

  由于标记语言和面向对象程序设计语言广泛应用,因此,基于这两项技术的Flex语言也将从中获益。标记语言是成功的,排布用户界面也相对容易。MXML,由Flex引入的、基于XML的标记语言,将延续其成功。和HTML很象,你可以用MXML来排布应用的用户界面。同为基于XML的标记语言,MXML比HTML有更强的结构,更少的语法歧义。比起HTML,MXML还引入了更丰富的标签集。如:DataGrid,Tree,TabNavigator,Accordion和Menu,这些都是标准标签集中的一部分。你还可以扩展MXML标签,创建自己的组件。此外,二者最大的区别是,MXML定义的用户界面是用Flash播放器运行的,相对传统的基于HTML、页面为中心的web应用而言,这将更具吸引力。

  但是,标记语言提供的编程逻辑仍难以满足用户交互的需求。在Flex中,可以用ActionScript编程语言来编写事件监听器来满足此种需求。ActionScript是一种基于ECMA-262标准的、强类型的面向对象语言,和其他编程语言——java和C#很相似,因此也很易于上手。

  作为一个开发者,你可以根据自己的喜好,用自己所熟悉的IDE(比如Eclipes或Intellij)手工编写MXML,也可以使用Flex支持的“所见即所得”开发环境(目前开发代号为Brady)。即使你选择手工编写MXML,仍可使用Flex提供的XMLschema,在IDE中为你提供代码提示(codehinting)和代码自动填充(codecompletion)的功能.

  当一个用户首次请求HelloWorld.mxml的时候,服务器会将MXML代码编译为Flash字节码(一个SWF文件)。然后服务器将产生的SWF文件发往客户端,让Flash播放器执行。对同一个MXML文档的并发请求,服务器将跳过编译过程,直接返回相同的编译结果。

  如果你对JavaServerPages比较熟悉,就会发现它们的模型非常相似。就像JSPs被编译为Java字节码(servlets)一样,MXML文件将被编译为Flash字节码。二者的主要不同在于:在Flex中,产生的字节码是在客户端执行的,而由JSP产生的Java字节码(servlet)是在服务器端执行的。通过Flex,你可以将复杂客户端应用无缝的集成到已有的商业逻辑中。

  拥有丰富的用户组件是Flex的一大特色。除了传统的数据输入控件(TextInputTextArea,CheckBox,RadioButton,ComboBox等等),MXML还包括了一些高级组件,用于维护结构化数据(Tree组件)和大数据集(DataGrid组件)。为了清晰的组织数据及其处理过程,Flex还提供了导航组件(Tab,ViewStack,Accordion等等)。

  为了更易于组织用户界面,Flex容器还定义了布局管理策略,用于指明一个组件相对与另一个组件的位置。Flex组件库提供了大量的、可实现不同布局策略的容器。比如,在HBox中的组件将被水平排列,而在VBox中的组件会被垂直排列,而在Grid中组件将以行列的方式进行排列,就象HTML的table一样。View容器中没有定义任何布局管理策略,因此你可以用x,y坐标来指定组件的位置。

  Flex语言是事件驱动的。MXML将事件作为标签的属性,你可以为它编写事件监听器。比如,Button组件有一个click属性,ComboBox,List和Tree组件有一个change属性,等等。

  创建一个MXML文件,实际上是创建了一个类。定义在<mx:script>标签中的ActionScript函数是该类的方法。你可以在MXML文件或独立的文件中定义ActionScript函数。选择哪种方法,取决你所在的组织,后一种方法可以对开发团队进行更好的分工。

  组件的名字就是源文件的名字。如,源文件的名字是CreditCardChooser.mxml,组件的名字就是CreditCardChooser,这样,这个标签名就可以用了。下面的例子就用上了刚才创建的CreditCardChoose组件。

  当然,也可以只用ActionScript定义来整个组件,这种方法一般用于定义应用中的非可视组件。你可能会为这样商业对象创建非可视组件——例如,包含客户端逻辑的购物车,或是应用中helper类

  MacromediaFlex为面向服务器架构(SOA–service-orientedarchitecture)而开发。在这一模型中,应用通过与分散在不同地方的服务进行交互,来完成自己的任务。例如asp教程,如果创建一个在线旅行应用,你需要与不同的服务进行交互:全球旅馆预定服务,目的信息服务,天气服务等等。这些服务可能以不同的机制来提供,并且来自不同的地方。Flex使你能在客户端汇集信息,并提供三种不同的数据服务组件,以满足对服务提供者进行特定数据访问的需求:WebService组件,HTTPService组件(一般使用XML通过HTTP进行数据访问)以及RemoteObject组件。MXML允许你用相应的WebService,HTTPService,andRemoteObject标签来设置与服务的连接。

  下面是一个简单的股票报价应用。例子使用了WebService标签来设置与XMMethods提供的股价web服务进行连接。这个例子阐明了Flex的双向绑定功能。getQuote方法的symbol输入参数被绑定到symbolTextInput组件上。quote标签被绑定到getQute方法的调用结果上。

  Flex使用层级样式表标准来保证用户界面的一致性,并使应用更易于维护。就像在HTML中一样,你可以在应用中嵌入一个指向外部的样式表,或在特定的标记元素下将某种风格定义为其属性。样式表还允许定义字体。所需字体定义内嵌于应用的字节码中,即使用户的机器上没有这样的字体,也能被正确的渲染出来。

  复杂Internet应用常常被拿来和客户/服务器应用进行比较。因为它们提供了同一级别的用户体验。但是,容易忽视的区别是,两者的用户各具特点。使用客户/服务器应用的客户通常是备受折磨后,最终适应了他们需要面对的用户界面。而复杂Internet应用的客户通常是临时性的用户。在这样的条件下,一个不直观的用户界面将会丧失机会。

  Flex语言包含了一个丰富的用户界面组件库,MXML(一种基于XML的标记语言)和ActionScript(基于ECMA262的、强类型面向对象编程语言)。MXML用于排布用户界面和处理应用中其他方面的问题,而ActionScript用来处理用户交互逻辑。由于Flash平台的普及,Flex使开发者可以开发广泛的应用程序。开发者可以使用工业标准(如XML,CSS和SVC)和他们所熟悉的模式和范例来创建应用。Flex的分离协作方式和Macromedia公用组件模型也使得开发者和界面设计者能更好的进行协作,在可靠的、易于维护的架构上生产出在用户体验方面有突破性的产品。

  一,打开游戏和CE5.2(废话,不开游戏,CE搜啥玩意,呵呵),用CE载入游戏二,让你的血量回到最满状态,记住血量值如上图,我的是1312点血,好的,用CE搜1312,.用ExactValue方式,4字节 搜到N个址,好,再...查看详情

  以下是Shell学习1-2天学习笔记————————-我是分隔符—————————硬件去执行, 内核与硬件之间进行操作。命令解析器。shell脚本的组成元素系统命令文本处理工具(sort、grep、sed、awk…)变量条件判断环循结构函数Shell Scripts Center...查看详情

  变量获取本机主机名#hostname获取本系统版本号#uname -r获取cpu类型获取cpu的工作频率cat /proc/cpuinfo获取内存使用情况#free -m获取硬盘使用情况#df变量类型及变量操作本地变量(一般所指)本地变量只存在用户当前shell中,当用户退出当前...查看详情

  第三天:条件选择大 纲应用实例分析条件测试if…else…ficase…in…esac实...查看详情

  本节课的脚本也同样共享在share中了。第四天:循环结构内容大纲:应用实例分析for循环while循环for循环的原理达到效果 ...查看详情

  第五天:函数与任务调度函数的优势分而治之f协同合作方便管理维护简单函数的结构 function 函数名(){&n...查看详情

  脚本编写技巧脚本文件名命名规则 文件名的字符包括 字母、数字、.、_和-, 注意:脚本的文件名命名不能以数字开头。脚本文件名的命名,尽量使用...查看详情

  建立一个脚本 Linux中有好多中不同的shell,但是通常我们使用bash (bourne again shell) 进行shell编程,因为bash是免费的并且很容易使用。所以在本文中笔者所提供的脚本都是使用bash(但是在大多数情况下,这些脚本同样可以在 bash的大姐...查看详情

  那么下面脚本之家编辑就为大家简单的介绍下 脚本发生错误的一些原因与可能情况:1、第一种 页面中的脚本因为技术人员没有很好的处理好代码的兼容性或一些细节没有处理到,导致页面错误。但有时候确实不影响使用,这类错误就需要程序开发人员来解决。2、第二种情况,因为网速较慢,导致后面的执行无...查看详情

  关于 Perl 与 Python 的起源和特点 Perl 是 Practical Extraction and Report Language 的简称,由 1987 年 Larry Wall 创建,最初的目的是为了在 UNIX 上方便处理报表,经过长期的发展已经成为一种全功能的程...查看详情怎么修改asp源码页面内容的大小格式

您可能还会对下面的文章感兴趣: