`
shuiyan
  • 浏览: 34084 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Flash和Flex开发者都需要知道的20件事

    博客分类:
  • Flex
阅读更多

        这是来自InfoQ上的两则文章,我合并为“Flash和Flex开发者都需要知道的20件事”。

 

1. 弹性“跑道“模型

开发者应该知道事件何时被触发,代码何时被执行,Player何时进行渲染,这是每个Flash开发者都需要掌握的Flash Player基础概念。

延伸阅读
http://www.craftymind.com/2008/04/18/updated-elastic-racetrack-for-flash-9-and-avm2/

2. FlexSDK、mxmlc、compc…

开发者应该知道在点击Eclipse中的“run”按钮时都发生了哪些事情。

延伸阅读
http://www.senocular.com/flash/tutorials/as3withmxmlc/
http://livedocs.adobe.com/flex/3/html/help.html?content=apparch_08.html

3. Player事件、客户化事件以及事件冒泡

没有帧(Frame)和鼠标点击的Flash Player是无法想象的。

延伸阅读
http://www.adobe.com/devnet/actionscript/articles/event_handling_as3_03.html
http://livedocs.adobe.com/flex/3/langref/flash/events/package-detail.html
http://www.tink.ws/blog/custom-events-in-as-30-dont-forget-to-override-the-clone-method/
http://jacwright.com/blog/70/how-to-listen-to-flash-events-that-dont-bubble/

4. 语句、关键字和指令

开发者不应该对AS3中新出现的关键字感到惊讶。如果不知道“static”或是“override”是什么意思,学就行了。

延伸阅读
http://livedocs.adobe.com/flex/2/langref/statements.html

5. ASDoc

今后当你再一次阅读自己编写的代码时可能看不懂写的是什么了,因此恰当的文档是非常必要的,但如果能自动生成岂不美哉?

延伸阅读
http://livedocs.adobe.com/flex/3/html/help.html?content=asdoc_3.html

6. 管理好可视化资源(图片、字体、CSS等等)

Flash是可视化的东西,因此有必要了解代码与资源的管理手段。

延伸阅读
http://www.gskinner.com/talks/flexlovesflash/
http://code.google.com/p/queueloader-as3/
http://code.google.com/p/bulk-loader/

7. 理解Array、Collection、Dictionary与Map

通常开发者不会只处理一个MovieClip,因此需要了解如何控制多个对象。

延伸阅读
http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/Array.html
http://www.gskinner.com/blog/archives/2006/07/as3_dictionary.html
http://code.google.com/p/as3ds/

8. 以编程的方式处理动作

如果只搞静态的东西还不如使用HTML呢。

延伸阅读
http://blog.greensock.com/tweenmaxas3/
http://www.amazon.com/Foundation-Actionscript-3-0-Animation-Making/dp/1590597915/ref=sr_1_1?ie=UTF8&s=books&qid=1243014431&sr=8-1

9. OOP、编码与框架的合理使用

时至今日,一个巨大的.as文件闯天下的时代已经过去了。开发者需要将代码转到组织良好、可重用的对象中。现在的AS3框架也层出不穷,合理地使用框架有助于代码的管理。

延伸阅读
http://www.adobe.com/devnet/actionscript/articles/oop_as3.html
http://www.actionscript.org/resources/articles/684/1/Object-Oriented-Programming-in-AS3/Page1.html

10. 版本控制

除非觉得代码毫无价值,否则开发者需要立刻学习一种版本控制系统并尽快应用到项目中去。

延伸阅读
http://tortoisesvn.net/downloads
http://versionsapp.com/
http://en.wikipedia.org/wiki/Revision_control
http://git-scm.com/
http://www.nongnu.org/cvs/

11. 再简单的东西也是异步的

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

12. 搞清楚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()” />

13. Flex中的样式与HTML中的不尽相同

可以使用标准的CSS样式表来为Flex组件添加样式,也可以在Flex应用中包含CSS样式表。虽然标准CSS使用连字符(例如text-font)格式来定义样式名称,但是Flex使用驼峰式的命名格式(例如textFont)。这是因为连字符不能出现在XML的属性中,所以不能用这样的名字作为MXML标签的属性。

当然了,如果把样式定义在外部的CSS文件中或者Style标签中,也可以使用连字符格式的样式名。此外,Flex还定义了很多HTML中不存在的CSS样式。

14. 尽管看起来不同,但MXML和ActionScript本质上是一回事

在Flex中声明的所有MXML标签都会被Flex编译器转换为ActionScript代码;当然了,也可以在MXML文件中嵌入内联的ActionScript代码。既可以使用MXML也可以使用ActionScript创建新组件。

15. 理解Flex的Code-behind模式

虽然MXML和ActionScript本质上是一样的,但他们各司其职。一般来说,MXML负责显示界面,而ActionScript用来完成功能。Code-behind用于解耦MXML和ActionScript,这样设计师可以直接修改MXML而无需阅读代码,程序员则可以更好地组织和重用功能。

16. 理解Flex组件的生命周期

Flex通过状态机机制定义了一套完美的生命周期模型,用于组件的创建、运行和销毁,还定义了一些“入口”,开发者可以借此完成定制化的工作。没有透彻理解组件的生命周期可能会导致错误的编程模型。

17. 理解Flash运行时所使用的“跑道”模型

理解Flash Player的渲染和代码执行机制非常重要的。在执行了改变界面的指令时,Flash Player并不是立刻把你要的内容显示在屏幕上,它根据一定的周期来刷新屏幕,而代码的执行则是另一回事。这和Java正好相反,Java总是等待程序主动告诉它什么时候重绘屏幕。

18. 理解数据绑定与查看器(Watcher)

Flex提供了一种数据绑定机制。简单地说,就是将一个源属性绑定到一个目标属性上,当源属性发生变化时,目标属性也会随之变化。不仅仅可以绑定到属性,还可以绑定到函数。甚至可以为某个属性创建一个Watcher,当属性变化时会获得事件通知。

19. 数据封装与松耦合非常重要

对于Flex和AIR项目来说,代码组织与高层结构非常重要。有些人竟然在一个文件中编写了1000多行代码,这导致的问题就是牵一发而动全身。

20. 理解ActionScript中的弱引用与强引用

不管使用何种语言与开发环境,内存管理始终是一个重要的问题,ActionScript也不例外。如果不理解运行时环境的内存管理,那么很容易就会出现内存泄露与内存碎片问题。请阅读这篇博文文章来深入了解ActionScript的垃圾收集机制。

 

来自:http://riaoo.com/?p=1572

分享到:
评论

相关推荐

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

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

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

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

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

    flex、flash及air等ios开发证书(P12格式) 压缩包内含两个文件: ios.p12(ios开发证书) mobileprovision.mobileprovision(配置文件) 用该证书及对应配置文件可以免99刀的Apple developer费用,编译出的ipa...

    flex、flash及air等移动设备ios开发者证书及密码和流程

    flex、flash及air等ios开发证书(P12格式) 压缩包内含三个文件: ios.p12(ios开发证书) mobileprovision.mobileprovision(配置文件) flash ios 设置顺序.doc 是对我们的flash开发ios的一些设置问题 如果 ...

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

    ios开发者证书,flex,flash,air手机开发使用,输出越狱版的ipa的利器

    flex4系列教程

    Flex 对开发者更具吸引力,而 Flash 更多的是吸引设计人员。 Flex 原理 当你编译一个 Flash 程序时,Flash 开发环境把所有的可视化元素,时间轴指令和 ActionScript 中的业务逻辑编译为 SWF 文件。 同样地,Flex ...

    flash+flex+air移动开发入门经典(2)源码

    由于文件太大 之前想分三个传 然后只传一个就忘记了 csdn又不能回复 在此跟大家声不好意思 现在把剩下的传完 直接免费下载

    FlashBuilder 4 快速入门

    走进FLEX开发,如果是有一定基础的FLEX开发者,这两章可以简单翻阅。3-5章开始进阶学习, 介绍 FB4 / FLEX SDK 4 新特性与开发实例,适合绝大多数的FLEX开发者阅读。 第6章为通信服务方面的必 备知识,这一章以实际...

    [Flex与ActionScript.3程序开发].陈爽,付凯.扫描版

    相信读者在学习完《Flex与ActionScript 3程序开发》后,在使用Flex进行组件开发和数据处理、使用Flex高效制作皮肤、将Flex与Flash紧密结合、使用Flex与服务器端语言通信、对Flex应用进行优化等方面都会有深刻的理解...

    《Flex与ActionScript程序开发》[PDF]

    相信读者在学习完本书后,在使用Flex进行组件开发和数据处理、使用Flex高效制作皮肤、将Flex与 Flash紧密结合、使用Flex与服务器端语言通信、对Flex应用进行优化等方面都会有深刻的理解和掌握。  本书的所有实例...

    flex_教程.doc

    由于Flash平台的普及, Flex使开发者可以开发广泛的应用程序。开发者可以使用工业标准(如XML,CSS和SVC)和他们所熟悉的模式和范例来创建应用。Flex的分离协作方式和Flex公用组件模型也使得开发者和界面设计者能更...

    Flash Builder 4 快速入门 (包含源码)

    如果是有一定基础的FLEX开发者,这两章可以简单翻阅。3-5章开始进阶学习, 介绍FB4 / FLEX SDK 4 新特性与开发实 例,适合绝大多数的FLEX开发者阅读。 第6章为通信服务方面的必备知识,这一章以实际案例的方式展示...

    Adobe.Flash.Media.Server.3.开发者向导.简体中文版

    flex air Adobe.Flash.Media.Server.3.开发者向导.简体中文版

    flash builder [4] 中文快速入门

    3-5章开始进阶学习,介绍FB4/FLEX SDK4新特性与开发实力,设和绝大多数的FLEX开发者阅读。 第6章为通信服务方面的必备知识,这一章以实际案例的方式展示了FLEX与服务端通信的4种方式。 具体内容请下载阅读。

    graffiti library 3.0 flex/flash 组件 最新版

    Graffiti Library绘画类是专门为as3开发者设计的类库,可以轻易地将绘画功能集成到Flash、AIR和Flex项目中。 Graffiti Library的特点(Release3.0): 1、可以选定画布的尺寸 2、内置的缩放功能可以使用鼠标拖动画布...

    flex快速开始(pdf)

    为 Flash,却是更多地面向开发者(developer),而不是设计者(designer)。你只需要编写代码就 可以使用各种控件做出很漂亮的东西,这是许多缺少艺术细胞的开发人员向往的事情。而且 Flex 除去了 Flash中一些令很多...

    FLEX地图应用教程

    回到正题,FLEX应用地图,我想大家都知道,做的最完善的就是YAHOO地图,可惜YAHOO地图没有中国什么事,所以做为国人,还是希望可以做自己国家的地图,然后才能有CASE可以做.这次我选用了,目前比较完善的The Earthplayer...

    使用_FlashBuilder_4.7_开发指南_简体中文版

    由于Flash平台的普及, Flex使开发者可以开发广泛的应用程序。开发者可以使用工业标准(如XML,CSS和SVC)和他们所熟悉的模式和范例来创建应用。Flex的分离协作方式和Flex公用组件模型也使得开发者和界面设计者能更...

Global site tag (gtag.js) - Google Analytics