BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Arthropod - FlashとAIRのデバッガ

Arthropod - FlashとAIRのデバッガ

デバッギング・ツールはどのような言語によるソフトウェア開発においても、実行環境においても欠かせないものである。FlexであろうがAIRであろうが、Adobe Flashプラットフォームでのリッチ・インターネット・アプリケーション(RIA)開発もまた例外ではない。Flex/AIRは成熟しつつあるものの、より多くのデバッギング・ツールの登場が望まれている。Arthropod(リンク)はそのようなものの一つである。ArthropodはFlashやAIRアプリケーションの開発向けのデバッギング・ツールである。InfoQでは長年のFlash開発者でありArthropodの製作者でもあるCarl Calderon氏とその詳細について話をした。

なぜArthropodを製作したのかを尋ねるとCalderon氏は“限界が創造力を育てる”と皮肉を言った後、以下のように続けた。

Adobeがアプリケーションの実行環境であるAIRの最初のベータ版をリリースした際、私は簡単なhello-worldアプリケーションを作成しました。まず最初に感じたのはtraceメソッドの限界でした。掘り下げれば掘り下げるほど、私は混乱させられました。同じような問題に遭遇した開発者がたくさいんいたのです。後になってブラウザ上でトレース出来るデバッガを発見しましたが、ちょっとしたログを出力するのにはあまりにも複雑でした。私はFlashの出力パネルに極力近いものが欲しかったのです。数日後、過去のプロジェクトとSandbox制限*内での学習から学んだ基礎的な技術を使って自分独自のものを作り上げていました。そして自分がそれを頻繁に使っているのに気づいたとき、そのアイディアを発展させることにしたのです。結局はこれが今日までに私が作り上げたものの経緯になります。

現在のデバッギング・ツールを利用して分かったことについて、Calderon氏は以下のように述べている。

たくさんあります。現在、新しいFlash CS4 IDEを使うとAIRアプリケーションをテストする際に出力パネルにトレース情報が出力されるようになりましたが、実行時には出力されません。これは通常のFlashムービーでも同じです。一旦活用され始めてしまうと、ログ出力の機能を失ってしまうのです。私が見つけた他のデバッギング・ツールはほとんどのユーザにとって複雑過ぎるものであったり、sandbox制限*を上手く回避できていなかったりしていました。Arthropodが役立たないような問題にはいまだに遭遇したことがありません。

なぜ Flash/AIR 開発者がArthropodを使うべきなのか聞いたところ、Calderon氏は以下のように返答した。

Arthropodの独自性は使い方の簡単さにあります。アプリケーションをダウンロードして実行します。そしてクラスにある静的なメソッドを使うだけで準備は万端です。

たいていの人は通常のトレースから使い始めます、作品を公開してオンラインになって初めて、APIやドメインの制約などといった問題に直面するのです。その上、背後で何が起こっているのか分からないのです。Arthropodを使っていれば、即座にエラーの内容を見ることが出来ます。

Arthropodの威力は単純さだけではなく、対応しているログの種類の範囲にもあります。Array型のバッファの変更内容を簡単にリアルタイムで確認出来ますし、Stageクラスやオブジェクトのスナップショットを取得したり、概要をつかみ易くするためにメッセージを色づけすることも出来ます。

Arthropodツールの外観について質問したところCalderon氏は以下のように答えた。

アプリケーションの外観は美しくはありませんが、機能しています。例えば、bitmap-panel(ビットマップのパネル)やarray-panel(配列を表示するパネル)を利用していない場合に、それらの利用していない部分についてはユーザに見せたくありませんでした。そこで、必要となるまではそれらをメイン・ウィンドウの後ろに隠すことにしました。

フレームワークとしては、独自のもの以外は使っていません。アプリケーションの中核となるエンジン部分は完全にユーザ・インタフェース(UI)からは分離されていて、それ自身がフレームワークのようなものとして構築されています。ArthropodはFlash IDEとFlashDevelopを使って構築されています。

使っているデザイン・パターンも私独自のものです。MVCに似ていますが、ActionScript 3向けに調整しています。私はそれをイベント・ベース・パターンと呼んでいます。なぜなら、それぞれのコンポーネントは完全に独立して機能していてイベントとだけ通信をするからです。

Calderon氏は現在バーション2.0に取り掛かっている。より改良されたUIと新機能が提供されるが、使い易さはそのままである。Calderon氏によると、ArthropodをFlash向けデバッガの筆頭候補とするのが計画のようである。

しかし、なぜ 'Arthropod' という名前なのか、Calderon氏は以下のように説明した。

私はよくWikipediaでいろいろな内容を読んでいます。そして名前を探すには最適な場所だと思い立ちました。デバッガなのでまずはバグ(=虫)について調べていました。名前を探すのを止め数時間ほどクモについて読んだところで、Arthropod(節足動物)あるいは Phylum Arthropoda(節足動物門)に遭遇しました。繋ぎ合わされた足を意味するギリシア語だと思います。「完璧だ」と思い、それ以来この名称を使っています。

 

原文はこちらです:http://www.infoq.com/news/2009/02/Arthropod-debugger

この記事に星をつける

おすすめ度
スタイル

BT