ActionScript 3.0 争论何时休?

阅读数:787 2008 年 10 月 5 日

话题:Java语言 & 开发

自从独立 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?