引用自:
http://blog.csdn.net/qinqincl/archive/2009/01/07/3725503.aspx
Flex主要包含mxml及ActionScript两种语言。mxml是一种特殊的xml格式,在Flex中用来显示用户组件,AS是具有oo思想的语言,遵循ECMA 262规范。Flex编译器将mxml文件最终编译成swf的Flash文件。swf能够不仅能够进行界面显示,还能够处理用户逻辑,不需要向html一样每次都向服务器请求数据。
1 文件、目录及其作用
.project:描述工程信息,如 本工程名称、工程注释、相关工程信息、编译参数等
.flexProperties:记录与Flex本身相关的信息
.actionScriptProperties:记录主application、版本、编译器参数、已创建的application、module、cssfile等
bin-debug:保存编译后的可执行文件
html-template:保存编译后的文件模板:js文件、html模板、flash安装文件等
libs:
src:保存创建的文件,用户可根据情况进行设置源文件保存目录
2 编译
2.1 flex-config.xml 和 mxml-mainfest.xml
flex-config.xml位于..\Flex Builder 3\sdks\3.2.0\frameworks下,它包含了Flex编译及其他控制的所有选项,通过修改该配置文件,可以控制Flex的编译过程。
mxml-mainfest.xml也位于该目录之下,记录了Flex所有组件及对应id
详细方法:
http://blog.eshangrao.com/2007/01/30/335/
2.2 中间as文件
每一个mxml文件在编译过程中将先被编译成as类文件,该类的类名与applicaiton同名,并继承自mx.core.Application。然后再编译成swf文件
可使用命令行工具mxmlc -keep-generate-actionscript filenam.mxml生成中间的as文件。中间文件将保存在generated目录下,其中除包含了application类(app_interface.as app_generated.as)外,还包含控件类、样式类等。编译不同的application时,生成不同的application特殊类,而样式类等公用的类将被重新编译。
也可以通过设置project属性修改编译参数。选择一个project——〉properties——〉Flex Complier:Addtional Complier arguments里添加“-keep-generated-actionscript”或“-keep”。
app_interface.as记录了应用程序的对外接口,包括公共控件和四个内置的对象:
mx_internal var _bindings : Array;
mx_internal var _watchers : Array;
mx_internal var _bindingsByDestination : Object;
mx_internal var _bindingsBeginWithWord : Object;
app_generated.as是应用程序的具体类,包括变量、方法等类的基本构成元素。
3、可对Flex Project进行属性(Property)设置,在Flex Bulder Path中设置主源文件目录(main source folder),只有在该目录下的mxml文件才能执行 set as default application 或 run application。
4、view and modules
Model-View-Control模式已经成为经典了。Flex用户组件为view,分为控件和容器,用于界面展示。数据及业务规则为modules。