Flex 是 Macromedia发布的presentation server(展现服务),它是java web container或者.net server的一个应用,根据.mxml文件(纯粹的xml描述文件和actions cript)产生相应得.swf文件,传送到客户端,由客户端的flash player或者shockwave player解释执行,给用户以丰富的客户体验
Flex的本质是:
MXML
MXML是一种描述Flex應用程序構造的XML1.0语言。
每个MXML文件应该以一个XML声明开始:<?xml version="1.0"?>
和其他XML语言一样,MXML包含元素(标签)和属性,对大小写敏感。标签名称以大写字母开头,大小写混合,必须有对应的结束标签:
<ComboBox></ComboBox>
也可以这样结束对没有内容的标签:
<ComboBox/>
属性以小写字母开头,大小写混合。属性必须包含在引号内。
<ComboBox id="myCombo"/>
除了click或initialize之类的事件之外,所有的属性都被编译器作为文本字符串处理。如果需要绑定数据或者强迫编译器执行表达式,可以将变量的部分用花括号包起来:
<ComboBox dataProvider="{myArray}"/>
大部分的属性都可以作为子标签:
<ComboBox dataProvider="{myArray}"/>
等效于:
<ComboBox> <dataProvider>{myArray}</dataProvider> </ComboBox>
描述应用程序的MXML文件必须有一个位于其他元素之外的Application元素:
<?xml version="1.0"?>
<mx:Application xmlns:mx="http://www.macromedia.com/2003/mxml">
[other elements...]
</mx:Application>
注意xmlns属性,它声明了XML的命名空间。命名空间可以让你在单个文档中使用多重XML语言而避免混淆不同语言中相同的元素名称。这里的":mx"就是一个在特定命名空间中使用的前缀。
注意:这里定义的命名空间是标准的MXML类库,请将它包含在每个MXML文件中。
可以将声明放在任何MXML标签中;声明对该标签嵌套的所有标签有效。本系列教程中都以mx作为MXML类库的前缀。
ActionScript
ActionScript是一种类似JavaScript和其他ECMA规范的面向对象的脚本语言。如果你使用过JavaScript或Java/C#等其他面向对象的语言,你可以发现它们的语法很相似。你可以在MXML文件中嵌入ActionScript代码,也可以从独立的外部文件导入代码。
MXML类库
Flex既包含控制和容器等可见的组件,也包括了远程服务对象和数据模型等的不可见组件。
运行时服务
Flex提供了多项运行时服务,如:历史控制和远程服务连接对象。以开发的角度看,这些服务都是对类库的调用。
编译器
Flex编译器会在收到一个浏览器访问MXML文件的请求后,自动编译生成相应的SWF文件。该SWF文件将被缓存,直到你修改了源MXML文件。