对于任何计算机语言和运行时环境来说,调试工具都是软件开发中不可或缺的组成部分。基于 Adobe Flash 平台的 RIA 开发(无论是 Flex 还是 AIR)当然也不例外。随着 Flex/AIR 的不断成熟,涌现出了越来越多的调试工具。 Arthropod 就是其中之一。Arthropod 是个针对 Flash 和 AIR 应用开发的调试工具。InfoQ 有幸采访了 Flash 开发者及 Arthropod 创建者 Carl Calderon 来了解该工具。
在被问到创建 Arthropod 的缘由时,Calderon 嘲弄到“限制滋生了创造性”。之后他说到:
当 AIR 的首个 beta 版发布时,我就实现了一个简单的 hello-world 示例。我发现的第一个问题就是跟踪方法的局限性:跟踪层次越深,我变得越迷糊。还有很多开发者也面临着同样的问题。之后我找到一个调试器,你可以在浏览器中运行它并收集跟踪信息,但对于少量日志的应用来说这太复杂了。我想要的东西应该尽可能类似于 Flash 的输出面板。几天后我使用基本的技术自己开发了一个,这些技术来自于过去的项目积累和临时的突击学习。在发现会经常使用该工具后,我开始进一步扩充我的想法。最后,成就了现在的 Arthropod。
关于目前的调试工具,Calderon 说到:
现在有很多调试工具。随着新版 Flash CS4 IDE 的发布,你可以在测试(而不是运行)AIR 应用时从输出面板中得到跟踪行为。对于一般的 Flash 电影来说也是这样的。一旦开始运行,你就无法再使用日志了。其他调试工具对于大多数用户来说都太复杂了,而且有些还不能很好的处理沙箱限制。到现在为止,我还没发现什么问题是 Arthropod 所无法处理的。
在被问到 Flash/AIR 开发者为何要使用 Arthropod 时,Calderon 说到:
Arthropod 的特别之处在于其易用性,下载后直接就可以使用。你只需使用类中的静态方法就可以完成想要的功能。 大多数人都以正常的情况开始,发布其产品,一旦上线后还要面对出现的问题,他们把问题归罪于 API、领域限制等等,而且他们无法看到背后的事情。如果使用 Arthropod 就可以立刻看到错误消息。
Arthropod 的强大之处不仅在于其易用性,而且它还可以区分不同的日志类型。你可以实时看到数组缓冲的变化、获取对象的快照并能对消息着色以增强视觉效果。
在被问到 Arthropod 的设计时,Calderon 说到:
Arthropod 的设计并不完美,但可行。如果用户不需要,我不想把没用的东西展现出来,比如位图面板和数组面板。因此我把他们藏到主窗口后面了,如果用户需要可以将其显示出来。 就框架来说,除了自己的我没使用其他的框架。Arthropod 的核心引擎是完全独立于用户界面的,其本身就是一个框架。Arthropod 是用 Flash IDE 和 FlashDevelop 开发的。
所用的设计模式也是我自己创造的。它类似于 MVC,但针对 ActionScript 3 做了一些调整。我把它叫做基于事件的模式(event-based-pattern),因为不同的组件可以独立运行,仅通过事件进行交互。
Calderon 正在忙于 2.0 版。该版本将拥有改进的 UI 及一些新特性,但仍旧好用。根据 Calderon 所述,其计划是让 Arthropod 成为 Flash 调试器的不二之选。
为什么叫做“Arthropod”呢?Calderon 说到:
我经常在维基百科上寻找各种信息,我觉得它是个起名的好地方。由于是个调试器,我首先查找的是 bug 相关的信息。在阅读了几个小时的关于蜘蛛的内容后,我突然看到了 Arthropod 还有 Phylum Arthropoda,我觉得这是个希腊语,意为连接的脚。“太棒了”,从那以后我就一直沿用这个名字了。
评论