【インタビュー】

ActionScript、Flex、そしてApollo - Flexエバンジェリストに訊くAdobe開発ツールの現在

1 よりオブジェクト指向になったActionScript

野中文雄  [2006/10/31]
  • <<
  • <

1/3

今年の6月、Flex 2とともにFlash Player 9がリリースされた。また、ActionScript 3.0をサポートする次期Flashオーサリングツールが、パブリックアルファ版の「Flash Professional 9 ActionScript 3.0 Preview」[*1]として公開されている。そうした時期に、米Adobe Systems(以下Adobe)のAdobe Flex テクニカル エバンジェリスト・Ted Patrick氏[*2]が来日した。本稿では、Patrick氏へのインタビューとadobe.comのWeb情報をもとに、ActionScript 3.0、FlexおよびApolloについてご紹介したい。

[*1] Flash Professional 9 ActionScript 3.0 Previewは、Adobe Labsからダウンロードできる。
[*2] Ted Patrick氏は、自身のブログ「Ted On Flex」を開設している。

ActionScript 3.0について - Flash Player 9には新開発の仮想マシンAMV2が実装された

Ted Patrick氏

まず、新しいFlash Player 9について尋ねた。

Patrick氏は、従来のFlash Playerは、スクリプトの処理については、漸進的な改善が加えられてきたという。そしてさらにFlash Player 9では、ActionScriptを解釈して実行する仮想マシン(Virtual Machine)が新たに開発された。それが、AVM2(ActionScript Virtual Machine 2)だ[*3]。

ActionScriptはパブリッシュすると、Flash Playerの処理するバイトコードと呼ばれる命令として、SWFに書き出される。氏によれば、AVM2はバイトコードをJIT(Just In Time)コンパイラ[*4]によって、ネイティブなマシンコードに変換する。そのため、処理速度も、ネイティブコードに匹敵するほど速くなるという。

またFlash Player 9は、従来のコンテンツを実行するAVM1を併せて搭載することにより、下位互換性も維持している。

[*3] Flash Player 9とAVM2については、「AdobeのFlash担当者に訊く - Flash Player 9とActionScript 3.0何が変わる?」参照 。
[*4] JIT(Just In Time)コンパイルについてはWikipedia「ジャストインタイムコンパイル方式」などを参照。

ActionScript 3.0はよりオブジェクト指向の言語になった

つぎに、ActionScript 3.0の特徴と利用する場合のポイントについて訊いた。

ActionScript 3.0は、AMV2上で動作する。構文はECMAScript 4に準拠するので、ActionScript 2.0と互換性はある。ただし、言語体系(開発API)は改訂され、より洗練されたオブジェクト指向言語になった。実行時のエラーも、確認できる。

Patrick氏は、MovieClipインスタンスを例に取って、 ActionScript 1.0/2.0と3.0との違いを説明した。ActionScript 1.0/2.0では、MovieClipは真のクラスインスタンスではなかったという。インスタンスの生成には、特別なメソッドが必要だ。

また、いったんタイムラインに作成したインスタンスの階層上の位置を、ダイナミックに移すことはできない。インスタンスの親を変えようとすると、新たなタイムラインに同じ内容のインスタンスを新たに作成するしかなかった。

それに対して、ActionScript 3.0では、クラスのすべてのエレメントが、真のクラスインスタンスになったということである。new演算子を使ったコンストラクタの呼び出しにより、MovieClipインスタンスも生成できる。

// コンストラクタの呼び出しによるクラスインスタンスの生成
new クラス名([引数])

// MovieClipインスタンスの動的作成
new MovieClip()

ステージ上にインスタンスを表示する際の階層構造は、タイムラインに替わってディスプレイリストが管理する。ディスプレイリストに追加されないインスタンスは、ステージ上にも表示されない。しかし、インスタンスそのものは、ディスプレイリストとは独立して存在している。したがって、表示上の親を替えるには、単にディスプレイリスト内の位置を移動すればよいという。

  • <<
  • <

1/3

インデックス

目次
(1) よりオブジェクト指向になったActionScript
(2) ActionScriptとFlexの相性は?
(3) 「いつでもどこでも動く」実行環境 - その名はApollo


IT製品 "比較/検討" 情報

転職ノウハウ

あなたが本領発揮できる仕事を診断
あなたの仕事適性診断

シゴト性格・弱点が20の質問でサクッと分かる!

「仕事辞めたい……」その理由は?
「仕事辞めたい……」その理由は?

71%の人が仕事を辞めたいと思った経験あり。その理由と対処法は?

3年後の年収どうなる? 年収予報
3年後の年収どうなる? 年収予報

今の年収は適正? 3年後は? あなたの年収をデータに基づき予報します。

激務な職場を辞めたいが、美女が邪魔して辞められない
激務な職場を辞めたいが、美女が邪魔して辞められない

美人上司と可愛い過ぎる後輩に挟まれるエンジニアの悩み

特別企画 PR

人気記事

一覧

イチオシ記事

新着記事

ヤマハ、エントリー機ながらDolby AtmoやDTS:Xに対応するAVレシーバー
[21:59 5/24] 家電
[清水富美加]「HK/変態仮面アブノーマル・クライシス」ヒロインの魅力は「清純という名のエロス」
[21:44 5/24] エンタメ
安野モヨコ「鼻下長紳士回顧録」イメージした女性服が伊勢丹に
[21:31 5/24] ホビー
新たな完全ワイヤレスイヤホン「Aria One」 - e☆イヤホンで先行販売
[21:09 5/24] 家電
ジョニデ、アン・ハサウェイ『アリス・イン・ワンダーランド』USプレミア登場
[21:03 5/24] エンタメ

特別企画 PR

求人情報