原文:http://blog.flexdevelopers.com/2010/04/10-things-good-flex-developer-should.html
翻译:http://bbs.9ria.com/viewthread.php?tid=54144&from=recommend_f
要想成为一名优秀的Flex编程人员,单单知道怎么样去使用Flex内建的容器和组件是不够的,而且是远远不够。
下面是我对这个问题的一些看法......并且给出了一些资源和关键字,你可以通过Google轻易地找到这些关键字。
1、面向对象编程(OOP)
ActionScript 3是Flex的基石,它是一个完全面向对象的语言。尽管面向对象这个概念并不是很好理解,但是面向对象编程是学习的Flex的一个前提条件。如果你之前有面向对象编程(Java, C#, Ruby等)的经验的话,那么你就可以很快入门。如果没有的话,那么你须要迟早找本OOP的书籍来学一下。
注意:有些人可能会问 - “那么设计模式呢?”让我们一步一步来,好吗?你们自己先学一下类和对象、接口、继承、组合、多态、封装等。只有学完这些之后你才可以去学习设计模式。事实上,如果我要写一篇名为“一名伟大的Flex开发者须要知道的10个内容”的文章话,那么设计模式将会是第一个。
2、ActionScript/MXML
ActionScript是与MXML一起配合来开发Flex应用程序的。MXML是一种用XML写成的基于标签的声明性语言。每一个标签都映射到一个与之相对应的ActionScript类。MXML主要是用来对用户界面进行布局,而ActionScript则用来实现业务逻辑。当然存在例外的情况。
Flex Framework包括上百个ActionScript类和接口来帮助你开发Flex应用程序。你对ActionScript以及MXML的熟练程度直接影响到你的技术水平。
注意:你应该对Flex Language Reference非常熟悉。作为一个Flex开发者,你基本上每天都要用到它。
3、调试
开发者的很大一部分时间都是在调试。明显地,调试需要找到错误的根源。但是,调试也是学习新语言很好的一种方式。
很幸运地,网上有许多可用的工具来帮你进行调试。花点时间来学习使用这些工具。很快你所花的时间就会给你带来效益了。
4、事件驱动编程
Flex应用程序是事件驱动的。每一个动作都是一个异步事件产生的结果。
作为一名Flex开发者,你必须知道怎么样去响应事件、怎么样去创造事件和抛出事件。为了实现这一点,你必须对Flex的事件结构有充分的了解,也就是说,你要熟悉以下几点概念:
- 内建事件(Flash Player或者Flex Framework事件)
- 自定义事件(由开发者定义的继承自Event类或其子类的事件)
- 事件抛出,事件广播(查看EventDispatcher类和它的dispatchEvent方法)
- 事件侦听,事件处理(查看EventDispatcher类和它的addEventListener和removeEventListener方法)
- 事件流(捕获、目标和冒泡阶段;target与currentTarget的区别)
- 事件默认行为(查看Event类及其子类和preventDefault方法)
5、数据绑定
表面上,数据绑定很容易理解。把一个属性的值与另一个属性的值绑定到一起。当源属性的值发生改变时,目标属性的值也会改变。
然而,如果随意使用数据绑定的话是会影响程序性能的。充分了解数据绑定能够帮助你决定什么时候适合用数据绑定,什么时候不适合。
Flex Tips - Using Bindable Metadta Events
Michael Labriola's presentatin entitled Diving in the Data Binding Waters
6、项目渲染器(item renderer)
设计优秀的Flex应用程序的一个特点是其显示数据的方式在视觉上令人信服。Flex提供了一些基于列表的负责显示数据的控件(DataGrid,List, TileList, HorizontalList等)。然而,只有使用项目渲染器才能让这些基于列表的控件自定义数据显示方式。
7、访问远程数据
你见过哪些应用程序是不用与数据打交道的吗?我没见过。学习如何使用HTTPService、WebService和RemoteObject来获取数据。一个Flex结构框架或许可以帮你(看第9点)
- Retrieving and handling data with HTTPService
- Retrieving and handling data with WebService
- Retrieving and handling data with RemoteObject
8、样式/皮肤
不要忘记Flex是一种图形用户界面技术,因此存在一定的设计期望。作为一名Flex开发者 ,你应该知道如何通过CSS样式或者其它方式来自定义你的Flex应用程序的外观。
要使用Flex 4,就没有借口。花点时间来开发一下你的右脑,这是一次不错的改变,并且它可以让你与其它Flex开发者区分开来。
9、至少一种Flex结构框架
大多数Flex结构框架都实现了MVC设计。并且,许多框架都支配着你的代码的组织方式和包装方式。
尽管有些人会认为使用框架是没有必要的,但是我相信即使只使用一个框架也会让一个Flex开发者受益匪浅。简单地看着一项技术(好的或坏的)使用框架来解决一些结构性问题能帮助作为开发者或架构师的你成长。
并且,你也不能否认如果你有使用框架的经验,那么你的职位竞争力将会在本质上有所提高。Jess Warden最近告诉我“只有少数商店不使用框架,但这是罕见的。不管你喜不喜欢,使用框架已经成为一种'时尚'。”我同意他的观点。
10、组件的生命周期和显示列表
之前我是觉得不用去学Flex组件生命周期和显示列表的,直到我第一次写自定义组件的时候。在此之前,我都是使用内建的Flex组件并且很高兴地让MXML帮我处理显示列表。我从没使用过addChild、createChildren或者commitProperties方法,我使用了creationComplete事件来做全部事情。
我第一个自定义组件使用了许多异步事件,我并不能预测事件处理的顺序。但是在我学习了Flex组件生命周期方法之后,我重新掌握了控制。
这些生命周期方法早就有了。学习一下它们是怎么工作的,并且利用它们来帮助你解决问题。你掉的头发越少,你的生活会更加美好。
相关推荐
一名优秀的Flex开发者不仅需要掌握基本的Flex框架,还要深入理解ActionScript 3.0(AS3)和面向对象编程(OOP)原则。ActionScript 3是Flex的基础,它是一个完全支持OOP的编程语言。对于没有OOP背景的开发者来说,...
这篇博客“AS3分享:FLEX开发者必备的十多个工具”旨在为开发者提供一系列实用的资源,帮助他们提升工作效率和代码质量。尽管描述部分为空,但我们可以根据标题推测,博主Windmark在文中分享了至少十几个对Flex...
flex3开发者指南Flex3 developer guide.rar
### 一线城市Flash&Flex开发者薪资水平调查(2010年9月) #### 调查背景 2010年9月,针对一线城市的Flash&Flex开发者进行了一次薪资水平调查。此次调查由“天地会人才库”组织并完成,通过对随机抽取的103名Flash&...
让开发者快速了解flex,简单的小案例,能清晰高效的了解flex,让初学这早日学会
两年的的flex开发,常用功能做成了各个小例子,基本上包含了其中包含的功能有:系统框架,布局控件,菜单控制,分组栏,收缩控件,Excel导出,统计图,下载,分页等常用常用功能,其中还有一个自己写的分栏收缩控件...
此外,社区如Stack Overflow和Flex开发者论坛也是获取帮助和学习的好去处。 10. **实践项目**:理论学习的同时,实践是掌握Flex的关键。尝试创建简单的Flex应用并与PHP服务器通信,逐步提升到更复杂的项目,将有助...
总的来说,Flex版的汉字拼音转换工具结合了pinyin4j的强大功能和Flex的灵活性,为Flex开发者提供了一个便捷的汉字拼音处理工具,使得在Flex应用中实现复杂的汉字处理功能变得更加容易。在进行项目开发时,开发者可以...
总的来说,Flex中的日语全角半角转换是一个涉及到字符串处理、Unicode编码和字符转换算法的问题,对于需要处理日语文本的Flex开发者来说,理解和掌握这一技术是必要的。通过研究源代码或使用现有的工具,可以有效地...
Flex Debug 10 for IE是Adobe Flex开发工具的一个特别版本,专为Internet Explorer浏览器设计,提供了强大的调试功能,极大地优化了开发人员在IE环境下的Flex应用程序调试体验。Flex是一种开源框架,用于创建富...
在Flex中,处理汉字转拼音通常需要利用特定的库或算法。例如,`HanZi2PinYin.as`可能就是一个自定义的ActionScript类,实现了将汉字转换为拼音的功能。此类可能包含了对Unicode编码的理解,因为汉字在计算机中是以...
flex、flash及air等ios开发证书(P12格式) 压缩包内含两个文件: ...用Flex Builder以学习IOS编程时,需要在Flex中将对应工程的描述文件XX-app.xml中的id改为:com.gamevil.zenonia2,证书密码:1234 XX是工程名。
为了实现3D效果,可能还需要借助Stage3D技术,这允许Flex应用程序进行硬件加速的图形渲染,从而提高性能和视觉质量。 在压缩包中的"PopupEffect"可能是一个包含了这些效果的示例代码或资源文件。PopupEffect通常指...
总的来说,卸载旧版本的Flash Player并安装编译版Flash Player 10是Flex开发者进行有效开发的关键步骤。这个过程确保了开发环境的纯净和兼容性,同时也让开发者能够充分利用Flash Player的高级特性。在不断发展的Web...
首先,我们需要理解iOS开发者证书的种类。主要有两种:iOS Development Certificate(开发证书)和iOS Distribution Certificate(发布证书)。开发证书用于在开发过程中在测试设备上运行应用,而发布证书则是将应用...
为了克服这个问题,开发者需要在Flex的SWF文件中添加相应的跨域策略文件,允许JavaScript与特定源的SWF进行通信。 在"JS与AS3"的压缩包中,可能包含了一个或多个示例项目,用于演示JS与Flex的互转通信。这些示例...
在IT行业中,FLEX(Flexible Box)是一种布局模式,它为Web开发者提供了更灵活的方式来排列和对齐元素,尤其在处理复杂布局时表现得极为有用。"鱼眼菜单"(FishEye Menu)则是一种交互设计概念,它借鉴了鱼眼镜头的...