本文和大家重点讨论一下Flex的概念,MacromediaFlex是一个用来创建丰富信息的互联网应用程序的服务器组件。相信通过本文的学习你对Flex入门的一些知识有明确的认识。
Flex简介
MacromediaFlex是一个用来创建丰富信息的互联网应用程序的服务器组件。Flex内置的界面可以由MacromeidaFlash播放器显示在客户端系统上。Flex的本质是:
◆一个描述应用程序界面的XML语言(MXML)
◆一个ECMA规范的脚本语言(ActionScript),处理用户和系统的事件,构建复杂的数据模型
◆一个类库
◆运行时的即时服务
◆一个由MXML文件生成SWF文件的编译器
MXML
MXML是一种描述Flex應用程序構造的XML1.0语言。每个MXML文件应该以一个XML声明开始:<?xmlversion="1.0"?>
和其他XML语言一样,MXML包含元素(标签)和属性,对大小写敏感。标签名称以大写字母开头,大小写混合,必须有对应的结束标签:
- <ComboBox></ComboBox>
也可以这样结束对没有内容的标签:
- <ComboBox/>
属性以小写字母开头,大小写混合。属性必须包含在引号内。
- <ComboBoxidComboBoxid="myCombo"/>
除了click或initialize之类的事件之外,所有的属性都被编译器作为文本字符串处理。如果需要绑定数据或者强迫编译器执行表达式,可以将变量的部分用花括号包起来:
- <ComboBoxdataProviderComboBoxdataProvider="{myArray}"/>
大部分的属性都可以作为子标签:
- <ComboBoxdataProviderComboBoxdataProvider="{myArray}"/>
等效于:
- <ComboBox><dataProvider>{myArray}</dataProvider></ComboBox>
描述应用程序的MXML文件必须有一个位于其他元素之外的Application元素:
- <?xmlversionxmlversion="1.0"?>
- <mx:Applicationxmlns:mxmx:Applicationxmlns:mx="http://www.macromedia.com/2003/mxml">
- [otherelements...]
- </mx:Application>
注意xmlns属性,它声明了XML的命名空间。命名空间可以让你在单个文档中使用多重XML语言而避免混淆不同语言中相同的元素名称。这里的":mx"就是一个在特定命名空间中使用的前缀。
注意:这里定义的命名空间是标准的MXML类库,请将它包含在每个MXML文件中。
可以将声明放在任何MXML标签中;声明对该标签嵌套的所有标签有效。本系列教程中都以mx作为MXML类库的前缀。
如需更多信息,请参阅Flex语言参考
ActionScript
ActionScript是一种类似JavaScript和其他ECMA规范的面向对象的脚本语言。如果你使用过JavaScript或Java/C#等其他面向对象的语言,你可以发现它们的语法很相似。你可以在MXML文件中嵌入ActionScript代码,也可以从独立的外部文件导入代码。
完整的ActionScript参考:Action语言参考
MXML类库
Flex既包含控制和容器等可见的组件,也包括了远程服务对象和数据模型等的不可见组件。你可以在后面的介绍中得到详细的信息。
运行时服务
Flex提供了多项运行时服务,如:历史控制和远程服务连接对象。以开发的角度看,这些服务都是对类库的调用。
编译器
Flex编译器会在收到一个浏览器访问MXML文件的请求后,自动编译生成相应的SWF文件。该SWF文件将被缓存,直到你修改了源MXML文件。
【编辑推荐】