第一章. Flex 与 ActionScript 基础 (常青)
一个Flex应用程序有ActionScript和MXML两种语言代码组成。从3.0开始ActionScript已经从基于原型脚本语言进化到完全面向对象的,强类型的符合ECMAScript标准的脚本语言。MXML则是一种标记语言,非常类似于大家所熟悉的超文本标记语言(HTML),扩展标记语言(XML)。
如何把MXML和ActionScript相互关联起来呢?对于编译器来说,解析这两种语法后最终被翻译成同一个对象,比如:
<mx:Button id="btn" label="My Button" height="100"/>
和
var btn:Button = new Button();
btn.label = "My Button";
btn.height = 100;
产生的是同一个对象,两者的主要不同是,ActionScript创建的对象 (上面第二个例子)除了Button就没有别的了,而MXML中创建的对象将Button添加到包含MXML代码的任何组件上。Flex框架根据MXML中的对象描述来调用构造函数,然后将其添加到父对象上或设置其为父对象的某个属性。
MXML文件中可用<mx:Script>标签包含ActionScript,不过ActionScript文件是不能包含在MXML里的。你可以这样理解:MXML是描述应用程序外观及其组件,而ActionScript则描述如何处理应用程序的事件和自定义逻辑,虽然这么说不完全确切,但可以让你明白这两者之间的大致关系。在某些方面,比如循环,函数定义,条件语句等等都必须通过ActionScript实现,除了最简单程序可能不需要ActionScript外,绝大多数都是需要MXML和ActionScript 来相互协作。
这一章讨论的内容很多都是关于MXML和ActionScript交互问题:用MXML创建组件,在ActionScript中创建类,添加事件监听器,编写ActionScript和MXML代码,创建函数申明,虽然没有列举所有的内容,但这些都是ActionScript和MXML的基础内容。
1.1节. 用Flex Builder创建Flex项目
1.1.1. 问题
我想用Flex Builder创建Flex项目.
1.1.2. 解决方法
使用Create New Project 向导
1.1.3. 讨论
Flex Builder构建在Eclipse之上,eclipse是一个非常好的交互式开发环境(IDE),非常流行的Java开发工具。虽然开发Flex程序不一定要Flex Builder,但是Flex Builder提供了很多优秀特性可帮助你有效提高设计和开发效率,Flex Builder 可独立安装也可作为eclipse插件形式安装。
对于开发者来说第一件事就是如何创建一个Flex项目。Flex项目和其他项目有点不一样,因为它需要包含SWC (Flex库) Flex library SWC (不像ActionScript项目) 编译生成的可被Flash播放器执行的SWF文件(不像Flex Library项目)。要想创建项目,在Flex Navigator视图中点击鼠标右键,在弹出菜单中选择 NewFlex Project,然后会弹出创建项目对话框。
Figure 1-1. 创建一个Flex新项目
Figure 1-2. 用Flex Builder创建新项目
输入项目名称以及项目的存放路径,Windows系统默认情况下存放在C:/Documents and Settings/Username/Documents/workspace/Projectname,而MAC系统默认情况下存放在Users/Username/Documents/workspace/Projectname,当然你可以改变它,存放到自己喜欢的位置。项目名称必须是唯一的,不能重复。项目类型可选择Web程序或桌面程序(AIR程序),最后选择可能需要的服务器技术用于数据交互。
设置好了后,点击Finish,设置SWF输出目录路径,点击下一步
设置好SWF输出路径后,还要设置下源文件存放目录或SWC库文件路径。在Source path标签中还可添加其他目录,在Library Path标签中添加SWC文件,在这个对话框中还可更改主MXML程序文件名,默认是和项目名相同。
Figure 1-4. 设置源文件目录和主程序文件名
Figure 1-5. 设置其他需要的库
所以路径设置好后,点击Finish,项目就算创建好了,现在可以开始开发了。