`
piaoyaohou
  • 浏览: 75165 次
  • 性别: Icon_minigender_1
  • 来自: 烟台
社区版块
存档分类
最新评论

Flex开发者需要知道的10件事

阅读更多
作者 张龙
原文章地址
http://www.infoq.com/cn/news/2010/02/Flex-ten-thing
不久前,Michael Portuesi发表了一篇博文,谈到了Flex开发者需要知道的10件事。文章介绍了每个进入Flex领域的开发者都需要掌握的基本知识与技能。

Michael Portuesi给出的10个条目中,有些是开发者需要了解的简单细节信息;有些则揭示了Flash/ActionScript/Flex与其他开发环境之间的差别。

如果你了解HTML/CSS并熟悉JavaScript,但却对ActionScript或Flex一无所知的话,那么应该花些时间学习一下面向对象编程,因为ActionScript是一门完全的面向对象编程语言,而Flex则是一个面向对象的框架。

1. 再简单的东西也是异步的
Flex是一个异步框架,因此我们绝对不能指望代码调用后就能立刻执行。事实上,我们是无法预知方法的调用序列的。

2. 搞清楚Flex组件的样式与属性
Flex UI组件(按钮、菜单等等)既有属性(通过ActionScript语言指定)也有样式(通过Flex框架指定)。搞清楚他们之间的区别是非常重要的,因为组件的某些可视化效果可以通过属性指定,但另一些却只能通过样式设定。通过属性指定:

button.width = 100;  
button.height = 50; 


通过样式指定:


Button {  

   color: #cc0000;  

   textRollOverColor: #ccff00;  

   fontFamily: Trebuchet MS;  

}  



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也不例外。如果不理解运行时环境的内存管理,那么很容易就会出现内存泄露与内存碎片问题。请阅读这篇博文及文章来深入了解ActionScript的垃圾收集机制。

分享到:
评论

相关推荐

    一名优秀Flex开发者需要知道的十样东西

    一名优秀的Flex开发者不仅需要掌握基本的Flex框架,还要深入理解ActionScript 3.0(AS3)和面向对象编程(OOP)原则。ActionScript 3是Flex的基础,它是一个完全支持OOP的编程语言。对于没有OOP背景的开发者来说,...

    AS3分享:FLEX开发者必备的十多个工具

    这篇博客“AS3分享:FLEX开发者必备的十多个工具”旨在为开发者提供一系列实用的资源,帮助他们提升工作效率和代码质量。尽管描述部分为空,但我们可以根据标题推测,博主Windmark在文中分享了至少十几个对Flex...

    Flex 开发者学习和进阶过程探讨

    成为一名优秀的Flex开发者并非易事,它需要时间、耐心和持续的努力。无论你现在处于哪个阶段,都应该保持好奇心和求知欲,积极学习新技术和新工具。希望上述建议能够帮助你在Flex开发的道路上不断前进,最终达到自己...

    flex3开发者指南Flex3 developer guide.rar

    flex3开发者指南Flex3 developer guide.rar

    一线城市Flash&Flex开发者薪资水平调查(2010年9月).pdf

    ### 一线城市Flash&Flex开发者薪资水平调查(2010年9月) #### 调查背景 2010年9月,针对一线城市的Flash&Flex开发者进行了一次薪资水平调查。此次调查由“天地会人才库”组织并完成,通过对随机抽取的103名Flash&...

    flex的demo案例(初级flex开发者适用)

    让开发者快速了解flex,简单的小案例,能清晰高效的了解flex,让初学这早日学会

    Flex开发者的福利

    两年的的flex开发,常用功能做成了各个小例子,基本上包含了其中包含的功能有:系统框架,布局控件,菜单控制,分组栏,收缩控件,Excel导出,统计图,下载,分页等常用常用功能,其中还有一个自己写的分栏收缩控件...

    Flex入门指南—PHP开发者

    此外,社区如Stack Overflow和Flex开发者论坛也是获取帮助和学习的好去处。 10. **实践项目**:理论学习的同时,实践是掌握Flex的关键。尝试创建简单的Flex应用并与PHP服务器通信,逐步提升到更复杂的项目,将有助...

    flex、flash及air等移动设备ios开发者证书

    flex、flash及air等ios开发证书(P12格式) 压缩包内含两个文件: ...用Flex Builder以学习IOS编程时,需要在Flex中将对应工程的描述文件XX-app.xml中的id改为:com.gamevil.zenonia2,证书密码:1234 XX是工程名。

    FLEX特效FLEX特效FLEX特效FLEX特效

    8. **Flex Builder**:Adobe Flex Builder是一款集成开发环境(IDE),提供了代码编辑、调试和性能分析等功能,帮助开发者更高效地构建Flex应用程序。 9. **Flex与RIA**:作为RIA技术的一部分,Flex允许开发者创建...

    ios开发者证书,flex,flash,air手机开发使用

    首先,我们需要理解iOS开发者证书的种类。主要有两种:iOS Development Certificate(开发证书)和iOS Distribution Certificate(发布证书)。开发证书用于在开发过程中在测试设备上运行应用,而发布证书则是将应用...

    Flex开发辅助工具

    Flex开发辅助工具是一系列专为Flex开发者设计的实用工具,主要以SWF(Shockwave Flash)格式提供。这些工具能够帮助开发者更有效地理解和利用Flex框架的功能,提高开发效率。下面将逐一详细介绍这些文件: 1. **...

    Flex万年历记事本_flex源码

    10. **响应式设计**:考虑到跨设备兼容性,开发者可能使用Flex的弹性布局(Flexbox)或响应式设计技术,确保万年历记事本能适应不同屏幕尺寸的设备。 通过对"Flex万年历记事本"的源码学习,开发者不仅可以了解Flex...

    flex皮肤flex皮肤

    10. **Flex SDK和Flex Builder** Flex SDK是开发Flex应用程序的基础工具集,而Flex Builder(现在称为Flash Builder)则是一个集成开发环境(IDE),提供了一套完整的工具来创建、调试和部署Flex项目,包括皮肤的...

    Flex 组件Flex 组件Flex 组件

    在Flex组件的开发过程中,开发者还需要了解ActionScript,这是Flex的主要编程语言,基于ECMAScript,用于编写组件的行为逻辑。同时,MXML是一种声明式语言,常用来定义组件的结构和外观,与ActionScript结合使用,...

    使用 Flex 4.5 访问数据

    在构建以数据为中心的应用程序时,Flex 开发者需要创建项目,并将项目配置为访问数据服务。在这一过程中,安装 Zend Framework 或其他服务器端技术可能会有所帮助。同时,通过为数据服务操作配置数据类型,可以优化...

    flex实战项目,flex开发

    这个“Flex实战项目”可能是一个使用Flex技术构建的实际应用示例,旨在帮助开发者提升在Flex平台上的实践能力。 1. **Flex简介**:Flex是一个强大的开发工具,主要用于创建交互式、高性能的Web应用程序。它的核心是...

    flex 官方文档 中文教程

    本教程基于Flex官方文档,旨在为开发者提供中文版的详细学习指南,帮助理解并掌握Flex的核心概念、组件、布局、事件处理以及数据绑定等关键知识点。 1. **Flex简介** Flex是基于ActionScript 3.0和Flash Player或...

Global site tag (gtag.js) - Google Analytics