InfoQ

新闻

asDox最新发布版本推动ActionScript 3的代码生成

作者 Moxie Zhang译者 沙晓兰 发布于 2008年5月15日 下午10时58分

社区
Java
主题
RIA
标签
Python

上周,Michael Ramirez发布了使用Python编写的ActionScript 3解析器——asDox 1.0 Alpha 2的版本。该解析器建立于针对Java的qDox的基础上,它能够从源文件中提取比如类/接口、import句柄、JavaDoc标签和成员声明等一些特定信息。为了对该解析器进行更深入的了解,InfoQ就此采访了Ramirez。

Ramirez这样回忆他最初使用Python开发ActionScript解析器的初衷:

我决定开发asDox是因为我觉得ActionScript 3需要一个类似于qDox的代码生成工具。而我选择Python作为开发语言,是由于PyParsing模块的存在。我发现PyParsing使用起来非常方便,并且在用它来开发ActionScript 3解析器的过程让我觉得挺有意思的。

最终的开发成品是我的目标,但真正要发布一个正规版本可能还是需要花上一些时间。asDox可以通过生成代码来提高开发人员的工作效率。比如,假使你开发一组ActionScript 3类的话,使用asDox可以帮助你自动生成PHP后端代码。

在关于asDox和作为Flex Builder一部分的Adobe的ASDoc之间的关系这个问题上,Ramirez说:

AsDoc是通过解析内嵌在ActionScript 3源文件中的JavaDoc标签来生成API文档的工具。而asDox不仅能够解析JavaDoc标签,还能够解析包、类、变量和方法等等。它能够为开发人员提供了更多ActionScript 3源文件中的信息。如果将模板引擎与之结合使用的话,它将会是一个极为强大的代码生成工具。

另外,Ramirez接着解释了他从qDox中的借鉴了什么以及在asDox的实现中所做的优化,他指出“asDox的Alpha 1版本有一个和qDox的非常接近的API,这使得Python开发人员很难使用asDox。在Python不是Java(Python Is Not Java)发表之后,经过对之前的工作进行重构,最近的这个发布版本对Python则更为友好一些。”

asDox的开发过程并非一帆风顺。正如Ramirez所述,“在开发asDox过程中最大的挑战是编写ActionScript 3解析器。ActionScript 3是一种很难解析的语言,单就它的文法就很棘手。”

无论如何,Ramirez计划还是继续他的工作。他说:“我计划为asDox开发一个Adobe Air桌面应用,但目前,我首先需要将精力集中在asDox 1.0.0的发布上。我非常希望能够不断地得到社区的反馈,从而将这个工具进一步优化。”

查看英文原文:New asDox Release Helps ActionScript 3 Code Generation

没有回复

回复

独家内容

Tapestry for Nonbelievers

I. Drobiazko和R. Zubairov合作撰写了一篇文章,详细介绍Apache Tapestry 版本5——一个面向组件web框架。文章向读者展示了创建组件方法,并谈到了Tapestry中的IoC以及Ajax的相关特性。

ESB拓扑方案

在本文中,Adrien Louis讨论了两种基于ESB的SOA拓扑方案的优缺点:单个公司级ESB vs. 彼此互联的“部门级”ESB系统。Adrien讨论了每种方案对管理、业务监测、治理、可靠性和编配等问题的影响。

毛新生谈Project Zero和软件新发展

InfoQ中文站有幸与IBM中国开发中心Web 2.0首席架构师毛新生聊了聊Project Zero和软件新发展的相关话题,其中包括Project Zero的组织形式、支持的语言、以及未来发展方向等等。

Google图表及gchartrb初探

Google图表是一项用于生成图表的Web服务。这篇文章详细介绍了Google图表的接口以及可以允许Ruby方便创建图表的gchartrb库。

使用Erlang和Yaws开发REST式的服务

在这篇文章中,Steve Vinoski解释了如何用Erlang和Yaws Web服务器创建REST式Web服务。

Segundo Velasquez与客户眼中的敏捷

在某个软件产品设计的初始阶段,Segundo Velasquez曾以客户的身份与一个敏捷团队共同工作;Deborah Hartmann就这段经历对他进行了采访。

开放平台技术架构剖析

本视频从互联网的分类讲起,介绍了开放平台的类型、开放的价值以及开放平台对开发者的机会和挑战。然后以雅虎的NCP开放平台为例,讲解了NCP的特点、基本架构和具体的开发过程。

用UML做好系统分析

使用UML如何能让我们做好系统分析的工作呢?就让我们通过基金模拟项目,先睹为快,抢先体验一番。 本文节选自《系统分析师UML实务手册》的第二章。