InfoQ

InfoQ

新闻

我的书签

登录注册 以永久保存书签。

该内容已经被标记书签!

标记书签错误,请重试!

ActionScript 3.0争论何时休?

作者 Moxie Zhang 译者 沙晓兰 发布于 2008年10月5日

领域
语言 & 开发
主题
Java ,
RIA

自从独立Flash平台专家——Colin Moock七月份在O’Reilly InsideRIA发表了一篇名为“The Charges against ActionScript 3.0”文章之后,Flash/Flex社区内的争论一时间硝烟四起。

“……很多Flash用户仍然对ActionScript 3.0中引入的一些工作流方面的变化望而生畏。这些改变本身真正存在问题的很少,但当他们集合到一起的时候,就对Flash用户典型的日常工作产生不可磨灭的影响。” Moock的这句话是引发整个争论的导火索。

Moock在文章中指出了9条对ActionScript 3.0的不满:

    1. Flash CS3去掉on()/onClipEvent()以后,即使是简单的交互都很难创建。
    2. 很难习惯没有加载的.swf文件。
    3. 向上溯型 DisplayObject.parent使得父对象的clips很难控制。
    4. 没有getURL()之后,连接比较困难。
    5. 没有loadMovie(),加载.swf文件和图像都不方便。
    6. ActionScript 3.0中其他一些错误导致编程非常麻烦。
    7. 动态指向类库符号一点都不直接。
    8. 向手动创建的文件域、所有影视片段、所有按钮添加定制功能很费时间。
    9. 去掉duplicateMovieClip()之后,复制MovieClip实例变得非常困难。

Moock针对上面列出的每条都做了深刻的解释,也提出了一些建议。Atlanta Flash Community的Leif Wells表示有同感,他说:“毫不夸张地说,在我们向社区成员展示一些ActionScript 3.0的代码的时候,就遇到一些成员因此浑身冒冷汗。他们现在大都对 Flash Player 10的特性比较感兴趣,但很多人目前为止还无法掌握这些特性。”

然而,andCulture的主管Francis Lukesh从另一个角度来审视Flash的改进。他说:

有的人从Macromedia收购FutureSplash之后就开始使用Flash;有的人除了有设计动画的背景以外还有编程经验。对于这些人,我赞同Adobe的决定,赞同他们在Flash中借助AS3来提供更具结构化的ActionScript实现。我想信,这一极具决策性的手笔能够把Flash打造成一个真正的RIA开发值得选择的平台。

说工具箱不能通过编写抽象的API来提供文章中提到的那些功能是毫无理由的。实际上,这样的工具箱能够帮助设计师、动画制作者在保留AS3完整构架的基础上提高他们的开发效率。

Exanimo的Matthew Tretter以开发者而不是设计者的身份表示不同意作者的观点:

通常,我对那些编程语言为了尽量让非程序员都能应用而所作的改变很麻木(相反,我觉得编程语言应该要尽量方便程序员的应用)。在你提出的那几点中,我觉得有些其实根本不是因为功能难用,只是跟之前不一样罢了。习惯了以前的某种用法,并不意味着这种用法就是直接的,或者说是简单轻巧的。有时候,那些习惯用法实际上反而很费力,就比如说这个on()构造。

Flex开发员Steve的意见似乎比较中庸,他说:“作为一个全职的AS3开发员,在Flex Builder这种‘奢侈‘工具的帮助下,我没怎么遇到文中提到的那些不便。但在使用Flash很多年以后,我完全理解这些忧虑。“

另一个Flash开发员John Isaacks说他已经把习惯改过来了:

我从版本4的时候开始使用Flash(编程、制作动画)。ActionScript是我学习的第一门编程语言。在ActionScript 3刚推出的时候,我感到非常恐惧,主要是因为在新建一个flash文件,以之前习惯的方式编写代码的时候,我得到的却是很多错误提示。

……现在,我比此前任何时候都理解ActionScript。我也觉得AS3在很多方面没有AS2那么直接(有些时候,我还是会发现自己不自觉地在用一些AS2中的简易方法)。

Moock这样回复这些异议:

坦率地说,我还是强烈支持使用变化不多的编程工具。我喜欢ActionScript 3.0,也觉得Flash成长为一个开发平台是件很不错的事情。Adobe终于为程序员提供一些功能强大的工具——比如Flex Builder、ActionScript 3.0 profiler、 ASDoc、ANT集成、数据服务、干净利落的debugger、命令行编译器、Flex框架、公用的bug数据库、针对UI开发的MXML等等,这令人非常振奋。可见,Adobe对Flash程序员这个群体还是提供了很多支持的,而且他们的努力也必然能够吸引更多的开发员来使用Flash。

随着技术的推进,这类“健康”的讨论也会延续下去。

查看英文原文:Is the ActionScript 3.0 Debate Over?

译者 沙晓兰 目前从事Web应用的开发,有Java和JavaScript开发经验,关注J2EE、Struts 2等技术以及富客户端开发动态。

深度内容

大规模视频网站的计费与流量管理

本次分享将会就大规模视频网站的计费与流量管理这个话题,从操作层面细细进行讲解和分析,为系统工程师们揭示平日里我们没有关心的另一些内容。同时也希望本次分享能揭示行业中的一些“潜规则”,让互联网行业的流量与带宽管理更为开放与简洁。
本次演讲视频录制于QCon杭州2011

专访Jeffrey Richter:Windows 8是微软的重中之重

Jeffrey Richter以其多本Windows核心技术的经典著作而闻名,同时,他深入掌握微软的.NET等一系列核心技术,2012年1月,Jeffrey Richter在北京接受了InfoQ中文站的专访,谈到Windows 8和WinRT编程,并就异步编程、Windows编程中的可扩展性、性能和安全性方面给出自己的建议。

应用云平台的可用性——从新浪SAE看云平台设计

云计算平台的可用性,相比传统互联网服务而言,更加复杂和困难,也更具有挑战性。本文借助新浪SAE云平台为读者讲述了云平台可用性的定义、如何打造高可用的平台,以及对云计算的用户提出了建议。

JVM定制改进 @ 淘宝

淘宝高度重视Java平台的健康发展,组建了一个团队专注于Java平台的底层部分的性能、功能与稳定性改进;工作主要基于OpenJDK中的HotSpot VM开展,其中一些通用的功能随后也会逐渐反馈给OpenJDK社区。希望能与使用Java平台开发应用的大家交流经验。
本次演讲视频录制于QCon杭州2011

"伤得起"的云计算应用——对云端应用之架构的思考

2011年4月21日至22日是值得云计算从业者纪念的日子。Amazon的IaaS服务出现故障,导致许多商业网站的服务中断,影响非常严重。作为云计算用户,我们需要思考的是,如何保证即便在云服务不可用的情况,我们的应用架构仍然能够屹立不倒?本文正是站在云计算用户的角度试图探讨这一问题。

让交付的速度跟上思考的速度

12人的技术团队,4组刀片服务器,每月20亿的访问量,每日1次准时部署,99.9%的可用性。这可能吗?当然。想知道如何做的吗?百姓网将与您分享他们在DevOps实践过程中的经验和技巧。
本次演讲视频录制于QCon杭州2011

架构之路——穿行在产品和业务之间

篱笆作为一家起源于社区的电子商务公司,反映到技术层面就是同时要面对产品和业务,以及经营战略的变化调整。如何在产品和业务的夹缝之间完成技术架构的抽象与平衡,寻找更有效的价值定位,这当中有些经验教训和个人感悟愿与众人分享。
本次演讲视频录制于QCon杭州2011

特性注入:成功三部曲

本文将对特性注入以及相关方法做一个扫盲性的介绍。我们会解释这个框架的关键要素,并附上实例来证实它们。为了让文章保持相对较短,我们不会深入到某个工具或方法中,而是会给出一些参考资料,以便大家做进一步的研究。