速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

Arthropod——Flash 和 AIR 调试器

  • 2009-03-03
  • 本文字数:1402 字

    阅读完需:约 5 分钟

对于任何计算机语言和运行时环境来说,调试工具都是软件开发中不可或缺的组成部分。基于 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,我觉得这是个希腊语,意为连接的脚。“太棒了”,从那以后我就一直沿用这个名字了。

查看英文原文: Arthropod – A Flash and AIR Debugger

2009-03-03 21:372393
用户头像

发布了 88 篇内容, 共 263.0 次阅读, 收获喜欢 8 次。

关注

评论

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

「ChatGPT最强竞品」爆火:不限量不要钱免注册!一手实测体验在此

Openlab_cosmoplat

人工智能 开源社区 openai ChatGPT

阿里云计算巢产品负责人何川:计算巢,通过数字化工具加速企业数字原生

云布道师

云计算 计算巢

华为云网站安全方案为企业数据保驾护航

科技说

第五元素奏鸣曲:企业的新数据之道

脑极体

数据

华为云全流程等保服务,帮助企业守护信息安全

科技怪授

未来源码|什么是数据集成?超全的SeaTunnel 集成工具介绍

MobTech袤博科技

软件测试/测试开发丨Python 算法与数据结构面试题

测试人

软件测试 面试题 测试开发

求助 iOS 分发的最佳实践

雪奈椰子

过去的90天,ODC 发生了哪些新的改变?

OceanBase 数据库

数据库 oceanbase

小程序生命周期

程序员海军

三周年连更

为企业发展赋能,华为云网站安全解决方案,保护企业网络安全

科技怪授

Django笔记九之model查询filter、exclude、annotate、order_by

Hunter熊

Python django alias annotate order_by

一篇文章了解SoapUI接口测试的全部流程

Liam

测试 接口测试 测试工具 API 测试

华为云网站安全解决方案,助力企业安心稳步发展

科技说

使用appuploader工具发布证书和描述性文件教程

雪奈椰子

多云之下,京东云的降本增效之道

人称T客

我决定给 ChatGPT 做个缓存层 >>> Hello GPTCache

Zilliz

Zilliz ChatGPT LLM gptcache

Java Stream常见用法汇总,开发效率大幅提升

程序员大彬

Java java8

低代码起势,程序员闷头开发的日子结束了

引迈信息

低代码 快速开发 JNPF

探究光明源智慧公厕系统的科技创新与管理优势

光明源智慧厕所

智慧城市

为什么FTP会随着时间的过去而变慢?

镭速

阿凡达Sun4.0众筹开发系统技术搭建

薇電13242772558

NFT

“930大促”日活增速超40% ,哈啰如何用预案高效应急?

TakinTalks稳定性社区

Chrome 浏览器的更新导致 jQuery 反复发版,只因 :has() 这个伪类

茶无味的一天

CSS jquery chrome 前端 浏览器

一文掌握 Go 文件的写入操作

陈明勇

Go golang 后端 文件写入 三周年连更

糟了,生产环境数据竟然不一致,人麻了!

冰河

MySQL 数据库 数据一致性 数据存储

一文读懂注解的底层原理

老周聊架构

三周年连更

支撑百万商户、千亿级调用:微盟如何通过链路设计降本40%?

TakinTalks稳定性社区

瑞云科技副总经理黄金进受邀出席2023广东超聚变生态伙伴大会并作主题演讲

3DCAT实时渲染

元宇宙 实时渲染 云流化 3D实时云渲染 云化XR

杨志丰:一文详解,什么是单机分布式一体化?

OceanBase 数据库

数据库 oceanbase

推平“知识高峰”,AI将如何影响我们的学习?

Alter

Arthropod——Flash和AIR调试器_Java_Moxie Zhang_InfoQ精选文章