`

[转] 本人用Flash AS3.0写的七个原因

阅读更多
http://bbs.9ria.com/viewthread.php?tid=73635&extra=page%3D1%26amp;orderby%3Ddateline%26amp;filter%3D2592000

关于把Flex组件从MXML转移到AS为基础 好像有不同的意见。这篇文章本来是要教读者Flex组件寿命周期的;不过现在还是从简单的MXML组件开始讲,然后把它转化成AS3组件,每个代码变化都介绍了组件生命周期里的元素。
我必须承认,我从来不想挑衅评论里的反AS3情绪。在创建Flex程序的时候MXML和AS各有功用。我发现MXML对于排版是不错的,而感觉AS更”帅”些,可以通过代码拥有更多控制权。而MXML经常把代码如何以及何时执行这些细节给掩盖了。Adobe工程师们做出把Flex框架完全建立在AS上这个决定也无疑是出于这个原因。
我不是很确定如何表达我的专业AS想法,所以我拉了帮推特的朋友们帮我表达好这些想法。这里有5个原因阐述我为何偏好AS。
1.        构造函数:在MXML你不能创建构造函数方法。用于监听框架周期内的事件时这个东西很有用。这个预初始化的事件最适合用来监听了,虽然在我的经验里creationComplete更常用些。
2.        MXML会转化成AS3:MXML会被Flex编译成AS3。你可以通过特别的解释参数-keep-generated-actionscript查看生成文件。看看这些代码;你会奇怪为什么它会如此复杂。如果你从开始就用AS3写,组件就不用经过转换。我发现从开始就用AS3写的代码更干净。
3.        执行顺序更清晰:MXML可以让排版更快更简单,但它经常掩盖了实际运行的东西。在MXML,你可以根据像属性一样的MXML标签指定属性,风格和事件监听器。什么时候设置属性?什么时候设置风格?什么时候创建事件监听器?什么时候创建容器内容物?MXML掩盖了细节;AS不会。
4.        除错更简单:你是否试过用Flex Debugger来仔细查找MXML某行上你不知道的一个错误?这可能很令人沮丧,因为你不知道你到底该更新一个属性,更换一个风格还是应该去除一个事件。而用AS不会出现这种情况。
5.        轻便性:MXML代码要绑定Flex解释器,而AS3代码易携带而且能用在其他地方,比如Flash Professional。甚至Flex框架可以不依赖Flex解释器,虽然你必须带在身上来初始化合适的管理器。有些帖子是关于这些的 假以时日,我希望Adobe能让使用其他的IDE分享Flex框架组件变得更容易;这样就能独立于Flex解释器之外。
6.        ASDocs:在Flex 2和3里,MXML不支持ASDocs。如果你为较早的框架写代码,你就不能通过这个强力工具来利用你的API。Flex4增加了ASDoc对MMXL文件的支持;不过如果你还没把你的程序升级到Flex4的话,这个限制仍在。
7.        表现:MXML可能导致容器的滥用;我在很多应用里看到。某些Flex容器可能会拖慢排版进度,特别是当他们从继承链继承了所有排版逻辑之后。太多嵌套的容器会引发表现上的问题。有时候你不是总是需要使用那些容器;而你可以创建一个更简洁的使用。Flex 4 的spark风格 以从容器剥离封装的排版逻辑分成多个排版元素。有时可以外接UIComponent然后你自己用更有效率的代码来缩放和定位元素。
我不打算把这帖子写成反MXML贴。它有它的优势可以令你迅速上手。前帖评论里反对使用AS3的最大论点是相比较下MXML更易于长期维护。在某些案例里我同意这个观点;不过我不认为那个说法总是成立。作为程序员,参考所有方式然后选出恰好符合给定的时间,预算和项目目标的那个(方式)是我们的工作。
分享到:
评论

相关推荐

    flash as3.0 空战游戏源码

    这是本人的第一个游戏,刚接触flash,这只是一部理论性的游戏,比较粗糙,图片也是在网上下的,特此分享一下,供刚接触flash得人学习 游戏说明: w,a,s,d控制飞机飞行,j发送导弹,k发送必杀技闪电 20秒后会出现boss.杀死boss...

    flash as3.0 mybutterfly

    利用as3.0 编写实现用户输入蝴蝶个数随机产生N个蝴蝶随机飞舞;鼠标点击后,所有蝴蝶向点击处聚集,并在点击处出现一朵小花,溶入背景;还是很炫的效果,挺漂亮的; 适合初学者研究学习,还有很多地方可以改进;

    my butterfly-flash as3.0

    flash as3.0 coursework 本人小作,试手,本学期的flash实验; 可随机产生N个不同颜色的蝴蝶,随机飞舞,鼠标点击后,所有的蝴蝶都向点击处聚集;点击处出现一朵小花溶入背景,很漂亮,效果也不错,适合初学者,很多...

    《ActionScript 3.0语言和组件参考》中文版

    CHM版AS3.0语言参考,用起来很方便。 《ActionScript 3.0 语言和组件参考》是 Flash® Player 应用程序编程接口 (API) 的参考手册。《Adobe Flex 2 语言参考》《ActionScript 3.0 语言和组件参考》提供了 ...

    Flash实例教程,本人多年收藏...

    学习AS3.0,可以让你创建交互式动画,如按钮响应、游戏逻辑等。理解变量、函数、条件语句和循环等基本编程概念,是编写有效脚本的基石。 三、元件与库的运用 Flash中的元件是可重复使用的对象,分为图形元件、按钮...

    电子版IPHONE4

    此动画是本人花费数日精心制作的电子版iphone4手机,作为拜年贺卡使用,采用AS3.0制作,属于原创+首创,实现 滑动解锁、烟花动画、音乐切换等逼真效果。 版权归本人所有,QQ:373326347

    vc++ 开发实例源码包

    演示了OpenG的使用方法,内含几个实例,一个实例就3个文件。 p2p vb实例。 p2p+technology 文档。 P2P视频技术源码(含开发文档) 目前的协议有如下一些特点: 1) 客户向服务器发送请求, 每个请求的长度不定. 请求...

    工程硕士学位论文 基于Android+HTML5的移动Web项目高效开发探究

    第七章 总结与展望 43 7.1 工作总结 43 7.2 研究展望 44 致谢 47 参考文献 49 第一章 绪论 1.1 研究背景与意义 目前市场业务中在产品以及其他项目的认证和检测方面存在诸多不便,用户需要实地考察并频繁与检测...

Global site tag (gtag.js) - Google Analytics