Flex是基于Flash平台,涵盖了支持RIA(Rich Internet Applications)的开发和部署的一系列技术组合。Flex的出现,解决了程序员在开发动画应用方面难的问题,同时其也是目前主流的RIA技术之一。
如果你了解HTML/CSS并熟悉JavaScript,但却对ActionScript或 Flex一无所知的话,那么应该花些时间学习一下面向对象编程,因为ActionScript是一门完全的面向对象编程语言,而Flex则是一个面向对象的框架。
1. 再简单的东西也是异步的
Flex是一个异步框架,因此我们绝对不能指望代码调用后就能立刻执行。事实上,我们是无法预知方法的调用序列的。
2. 搞清楚Flex组件的样式与属性
Flex UI组件(按钮、菜单等等)既有属性(通过ActionScript语言指定)也有样式(通过Flex框架指定)。搞清楚他们之间的区别是非常重要的,因为组件的某些可视化效果可以通过属性指定,但另一些却只能通过样式设定。通过属性指定:
button.width = 100;
button.height = 50;
通过样式指定:
<mx:Style>
Button {
color: #cc0000;
textRollOverColor: #ccff00;
fontFamily: Trebuchet MS;
}
</mx:Style>
<mx:Button id="setupB" text="Click Me" click="onSetup()" />
3. Flex中的样式与HTML中的不尽相同
可以使用标准的CSS样式表来为Flex组件添加样式,也可以在Flex应用中包含CSS样式表。虽然标准CSS使用连字符(例如text- font)格式来定义样式名称,但是Flex使用驼峰式的命名格式(例如textFont)。这是因为连字符不能出现在XML的属性中,所以不能用这样的名字作为MXML标签的属性。当然了,如果把样式定义在外部的CSS文件中或者Style标签中,也可以使用连字符格式的样式名。此外,Flex还定义了很多HTML中不存在的CSS样式。
4. 尽管看起来不同,但MXML和ActionScript本质上是一回事
在Flex中声明的所有MXML标签都会被Flex编译器转换为ActionScript代码;当然了,也可以在MXML文件中嵌入内联的 ActionScript代码。既可以使用MXML也可以使用ActionScript创建新组件。
5. 理解Flex的Code-behind模式
虽然MXML和ActionScript本质上是一样的,但他们各司其职。一般来说,MXML负责显示界面,而ActionScript用来完成功能。Code-behind用于解耦MXML和ActionScript,这样设计师可以直接修改MXML而无需阅读代码,程序员则可以更好地组织和重用功能。
6. 理解Flex组件的生命周期
Flex通过状态机机制定义了一套完美的生命周期模型,用于组件的创建、运行和销毁,还定义了一些“入口”,开发者可以借此完成定制化的工作。没有透彻理解组件的生命周期可能会导致错误的编程模型。
7. 理解Flash运行时所使用的“跑道”模型
理解Flash Player的渲染和代码执行机制非常重要的。在执行了改变界面的指令时,Flash Player并不是立刻把你要的内容显示在屏幕上,它根据一定的周期来刷新屏幕,而代码的执行则是另一回事。这和Java正好相反,Java总是等待程序主动告诉它什么时候重绘屏幕。
8. 理解数据绑定与查看器(Watcher)
Flex提供了一种数据绑定机制。简单地说,就是将一个源属性绑定到一个目标属性上,当源属性发生变化时,目标属性也会随之变化。不仅仅可以绑定到属性,还可以绑定到函数。甚至可以为某个属性创建一个Watcher,当属性变化时会获得事件通知。
9. 数据封装与松耦合非常重要
对于Flex和AIR项目来说,代码组织与高层结构非常重要。有些人竟然在一个文件中编写了1000多行代码,这导致的问题就是牵一发而动全身。
10. 理解ActionScript中的弱引用与强引用
不管使用何种语言与开发环境,内存管理始终是一个重要的问题,ActionScript也不例外。如果不理解运行时环境的内存管理,那么很容易就会出现内存泄露与内存碎片问题。
分享到:
相关推荐
《Flex3程序设计》是一本面向初学者的教程,旨在帮助读者掌握Adobe Flex 3这一...而附带的【大家网]Flex.3实战[www.TopSage.com].pdf】可能包含更多的实战案例和详细的实践指南,进一步加深对Flex 3技术的理解和应用。
Flex特效是一种基于Adobe Flex框架创建的交互式用户界面效果,它利用ActionScript 3.0进行编程,并在Flash Player或Adobe AIR环境中运行。本资源"非常漂亮的flex特效"显然是一个包含精心设计的Flex应用程序,旨在...
1. **了解Flex基础概念**:首先需要熟悉Flex的基本构成,包括SDK、MXML和ActionScript等核心元素。 2. **安装开发环境**:安装Flex SDK,并配置好IDE(如Adobe Flash Builder或Eclipse),确保开发环境正常运行。 3....
本文将针对搭建Flex+Java+Oracle项目的实践过程中所遇到的问题进行深入剖析,并提供相应的解决方案,帮助开发者们规避潜在的技术陷阱。 #### 二、环境配置与搭建 1. **开发环境需求**: - **JDK版本**:1.6(建议...
对于Flex开发者来说,能够直接使用AS3代码来处理GIF,意味着他们不必依赖外部插件或第三方库,可以更灵活地控制动画的性能和质量。`GifEncoder.as`的使用可能涉及到以下步骤: 1. 导入`GifEncoder`类到项目中。 2. ...
### FlexBuilder调试问题详解 在Flex开发过程中,经常会遇到无法调试的情况...通过以上介绍,希望能帮助大家更好地理解和解决FlexBuilder调试中遇到的问题。在实际开发过程中,还需要不断积累经验,灵活应对各种情况。
Flex基于ActionScript编程语言和MXML标记语言,允许开发者构建可自定义的用户界面并提供丰富的图形效果。它利用Flash Player或Adobe AIR作为运行时环境,使得跨平台的桌面和Web应用开发变得简单。五子棋作为经典的...
- **Flex开发者中心**:获取文章和教程,提升技能并学习新技能。 - **Flex文档资源中心**:查阅产品手册、教程、发布说明等文档。 - **Adobe实验室**:获取Adobe早期产品的预览和技术。 - **Adobe在线论坛**:...
同时,提供的资源如"[大家网]Adobe.Flex.4教程[www.TopSage.com].pdf"可能包含更深入的案例分析和实战练习,进一步巩固理论知识。对于想要进入富互联网应用开发领域的学习者来说,这是一个不可多得的参考资料。
sPart UI组件库,一个用AS3.0 编写的轻量级开源 flash UI组件库,它旨在:让用户第一时间、以最快速度搭建一个flash游戏、应用所需要的前端界面。也许它并不如其他同类UI组件那样功能强大,但它的体积小,使用方便,...
假设我们需要实现一个包含导航栏、主要内容区以及底部版权信息的页面布局: 1. **导航栏**:使用`position: fixed`固定顶部。 2. **主要内容区**:采用Flexbox布局,实现左右两栏布局。 3. **底部版权信息**:使用`...
FlexTracePanel是一个专门用于Flex应用程序的开发日志观察工具,它可以捕获Flex应用程序中的事件和日志信息,帮助开发者快速定位和解决问题。IEDevelopmentToolbar是微软为IE浏览器提供的一个开发插件,它集成了很多...
假设需要创建一个包含左侧导航栏和右侧主要内容区域的网页,可以采用浮动或Flexbox布局来实现: ```html 这是导航栏 这是主要内容 ``` ```css .container { display: flex; /* 使用Flexbox布局 */ } ....
【标题】"一恩学姐面试资料锦囊.zip" 提供的是一份综合性的面试准备资源,主要针对Java和Android开发者。这份资料旨在帮助求职者提升面试技能,从而在竞争激烈的IT行业中脱颖而出,成功获得理想的Java或Android开发...
据作者说,现在这款软件的设计就是用它自己来设计的,经典的“吃自己的狗粮”,这也让我对其更有信心,因为它是开发者为开发者写的软件。 还有值得一提的是Balsamiq Mokups的在GetSatisfaction上的用户支持和服务,...
### ActionScript 3.0开发技术大全 #### 一、ActionScript 3.0简介 ActionScript 3.0(简称AS3)是Adobe Flash Player 和 Adobe AIR 中使用的...希望本篇文章能帮助大家更好地理解 ActionScript 3.0 并激发学习兴趣。