InfoQ

News

asDoxの新リリースで、ActionScript 3コード生成が促進される

作者 Moxie Zhang, 翻訳者 編集部 投稿日 2008年5月19日 午前6時27分

コミュニティ
Java
トピック
RIA
タグ
Python

先週、Michael Ramirez氏(source)がPythonで記述されたActionScript 3パーサーであるasDox 1.0 Alpha 2(source)をリリースした。Java向けのqDox(サイト・英語)に基づいている。パーサーは、クラス/インターフェイスの定義、インポートステートメント、JavaDocタグおよびメンバー宣言といった重要な項目のみを検索するソースファイルをザッと読む。InfoQはRamirez氏にインタビューをおこない、詳細を伺った。

Ramirez氏はPythonのActionScriptパーサーを開発した動機を、以下のように回想している。

asDoxの開発を決めたのは、ActionScript 3にはqDoxに類似したコード生成ツールが必要であると感じたからである。PyParsingモジュールであるため、Pythonを選択した。PyParsingが非常に使いやすいことが分かり、ActionScript 3パーサーの開発が楽しくなった。

最終製品が目標であるが、リリースにはしばらくかかりそうである。コード生成を通じたデベロッパとして、Doxは生産性を高めるツールである。たとえば、ActionScript 3クラスのコレクションを開発して、asDoxを使用し自動的にPHPバックエンドコードを生成する場合である。

asDoxおよび今ではFlex Builderの一部であるAdobeのASDoc(source)の関係について、Ramirez氏は以下のように語っている。

AsDocは、ActionScript 3ソースファイルに内蔵されているJavaDocタグを解析することで、APIドキュメンテーションを生成するためのツールである。asDoxはJavaDocタグだけではなく、パッケージ、クラス、変数およびメソッドも解析するツールである。デベロッパのActionScript 3ソースファイルに関する詳細情報を提供する。テンプレートエンジンと併用すると、コードの生成でさらに実力を発揮する。

Ramirez氏はqDoxからどれだけ適用したのかについて、またasDox実装での改善について説明し、「asDoxのAlpha 1のリリースには、qDoxのAPIにかなり適合するAPIがある。このことがPythonデベロッパにとってasDoxを使いにくくしている。 Python Is Not Javaのリリース後、最新のリリースが完全改訂され、ますますPythonフレンドリーになった」ことを指摘した。

asDoxの開発は、つらいものだった。Ramirez氏は、以下のように語る。「asDoxの開発における最大の課題は、ActionScript 3パーサーの記述であった。構文という観点からすると、あまり寛容ではないので、ActionScript 3は解析が非常に困難な言語である」。

それにもかかわらず、Ramirez氏はその作業を推し進める予定である。「asDox向けのAdobe Airデスクトップの開発を計画している。だが、現在は主にasDox 1.0.0のリリースに焦点を当てている。このツールをさらに良くするために、コミュニティからのフィードバックを期待している」と語った。

原文はこちらです:   http://www.infoq.com/news/2008/05/asdoc-1-release

ブックマーク
digg+,
reddit+,
del.icio.us+,
dzone+,
Hatena

No comments

返信

特集コンテンツ一覧

Typemock: その過去・現在・未来

Eli Lopian氏率いるTypemock社の過去・現在・未来について、インタビュー形式にて記します。

企業とSaaSの仮想化がもたらすのは、迅速性(アップ)だけではない

この論文では、仮想化やクラウドサービスの複雑なメリットと実世界における応用を検討します。さらに重要なこととして、Contegixが複雑な問題の解決に仮想化を実装している方法や、仮想化を使うべきではないケースについて詳細を提供します。

RubyのFiberを非同期I/Oに使うNeverBlockとRevactor

Fiberはユーザに試練を課すことなくこの考えを実装する有益な並行性ツールとして、ライブラリが2つあります。まさにこのためのソリューションとしてあるのがNeverBlockライブラリです。私たちはNeverBlockプロジェクトのMohammad A. Ali氏とRevactorライブラリのTony Arcier氏に話を聞きました。

拡張性に関する悪習慣

システムの保守容易性や拡張性を確保するためのベスト・プラクティスに関する記事は数多くありますが、この記事では避けた方がいい、いくつかの悪習慣(ワースト・プラクティス)を強調します。

トップスポーツチームの監督に教わる秘訣

この論文では、氏が発見した原則を要約し、その原則をいかにしてソフトウェア開発に応用するかを説明します。

事例研究:Dutch Railwaysのプロジェクトにおける分散拠点でのスクラム・プロジェクト

この記事では、私達がどのようにして大規模(240人月、10万行強)でインドとオランダの開発者も参加したスクラム・プロジェクトを成功させたのかを示しています。

Agile2008チーム参加レポート - 帰国そして変化

Agileカンファレンスに「参加者としてだけでなく、発表者として参加しよう」を掲げたチームgoyattomは、サブミッションを提出し、7つのセッションが日本から選択されました。参加者はカンファレンスで各々の発表や、各セッションへの参加、諸外国のエンジニアとの出会い、ステージ上で DearXPを熱演などの様々な思い出を抱えて、無事日本に戻ってきました。

SilverlightとJavaのインターオペラビリティ

マイクロソフトのRobert Bellが、SilverlightとJavaを使用したインターオペラビリティのシナリオを紹介し、サンプルコードを例にとってアーキテクチャの手引きを提供します。