写点什么

ActionScript 3.0 争论何时休?

  • 2008-10-05
  • 本文字数:1672 字

    阅读完需:约 5 分钟

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

2008-10-05 09:352301
用户头像

发布了 71 篇内容, 共 23.4 次阅读, 收获喜欢 3 次。

关注

评论

发布
暂无评论
发现更多内容

开源一夏 | 拥抱新技术?你需要考虑的方面

微枫Micromaple

开源 经验总结 技术栈 技术分享 8月月更

软件架构治理 之 如何度量软件架构

码猿外

架构设计 软件架构治理

全新升级!《云原生架构白皮书 2022 版》重磅发布

阿里巴巴云原生

阿里云 架构 云原生 白皮书

业内首份!博睿数据入选中国信通院《中国AIOps现状调查报告(2022)》

博睿数据

博睿数据 智能运维AIOps Swift AI

化整为零优化重用,Go lang1.18入门精炼教程,由白丁入鸿儒,go lang函数的定义和使用EP07

刘悦的技术博客

Go 教程 Go web 教程分享

如何提升IT对业务发展的贡献度

凌晞

数字化 构架 IT管理

深度学习公式推导:从神经元出发

老崔说架构

直播预告 | 如何从 0 到 1 打造敏捷团队?

Authing

解析 RocketMQ 业务消息——“事务消息”

阿里巴巴云原生

阿里云 RocketMQ 云原生 消息队列

DevSecOps|极狐GitLab IaC 安全扫描,保障云原生安全

极狐GitLab

Docker gitlab 运维 DevSecOps IaC

如何通过FinOps实现企业云成本优化?——信通院《中国FinOps产业发展现状研究报告》解读

星汉未来

云原生 k8s IT FinOps 云成本优化

在知识经济的年代,让你学会如何经营好自己的知识

Baklib

活动报名| MongoDB 使用规范及最佳实践线上直播来啦!

MongoDB中文社区

mongodb

培训预告 | 企业应用现代化实用教程——微服务治理与开发篇

York

容器 微服务 云原生 数字化转型 应用现代化

TDesign 品牌价值观

TDesign

开源一夏 | 实战之AngularJS 的Scope和Service的深入应用心得

恒山其若陋兮

开源 8月月更

我们总结了 3 大使用建议,并首次公开 Nacos 3.0 规划图 | Nacos 开源 4 周年

阿里巴巴云原生

阿里云 开源 微服务 云原生 nacos

参与openEuler社区不到1年,我成为了社区Maintainer……

openEuler

openEuler 开源社区 社区运营 #开源

MQTT over QUIC:下一代物联网标准协议为消息传输场景注入新动力

EMQ映云科技

车联网 物联网 mqtt emqx 8月月更

SpringMVC(五、AOP)

开源 springmvc spring aop 8月月更

一文读懂BizDevOps:数字化转型下的技术破局

阿里云云效

技术 DevOps 云原生 数字化转型 开发.

有一说一!阿里巴巴8月最新发布的这份Spring Cloud Alibaba学习笔记,几乎涵盖了其所有操作

程序员小毕

Java 程序员 面试 微服务 SpringCloud

30分钟成为Contributor|共建测试子系统,赋能提升项目代码质量

OpenHarmony开发者

OpenHarmony

实证与虚无,抽象和具象,Go lang1.18入门精炼教程,由白丁入鸿儒,Go lang接口(interface)的使用EP08

刘悦的技术博客

Go 编程 教程 Go web 教程分享

“以太坊杀手” Polkadot 何以在一众公链中脱颖而出

One Block Community

区块链 去中心化 跨链技术 波卡生态

知识管理的成熟,需要具备什么条件?

Baklib

落地DevOps,探索高效研发运营一体化解决方案

云智慧AIOps社区

DevOps 质量管理 代码管理 自动化运维 研发效率

A tour of gRPC:07 - gRPC bidirectional straming 双向流

BUG侦探

gRPC RPC protocolBuffer

ActionScript 3.0争论何时休?_Java_Moxie Zhang_InfoQ精选文章