【インタビュー】

AdobeのFlash担当者に訊く - Flash Player 9とActionScript 3.0何が変わる?

3 全ユーザーがActionScript 3.0に移行すべきとはいえない、さてどうするか

    野中文雄  [2006/06/20]

    ActionScript 3.0はすべてのユーザーが使うべきなのか?

    すべてのユーザーがActionScript 3.0に移行する必要はないが、イチから学習を始めるユーザーはActionScript 3.0がいいだろうとダウニー氏は語る

    仮想マシンを新たに開発したということになると、過去のコンテンツはどうサポートされるのかが気になる。この点についてダウニー氏は、Flash Player 9は、従来のコンテンツを再生するAVM1を併せて搭載することで解決しているという。それでも、Flash Player 9のサイズは、1MBを切るように開発されている。そして、AVM1は将来のFlash Playerでも引続きサポートされるということなので、下位互換性については問題ない。

    ActionScript 1.0や2.0も、このAVM1で実行できる。したがってダウニー氏も、すべてのユーザーがActionScript 3.0に移行すべきだということにはならないという。ただ、氏が注意としてつけ加えたのは、ActionScript 1.0 / 2.0はAVM2上では動作しないということだ。もちろん、ActionScript 3.0も、AVM1で実行することはできない。つまり、ひとつのプロジェクトで、ActionScript 3.0とそれ以前の1.0 / 2.0は混在できない。どちらかを選択しなければならないというのだ。

    そこで、Flash制作者としての対応を、筆者なりの視点で整理してみよう。ほとんどひとりで作成するような小規模のプロジェクトであれば、選択はたやすい。スクリプトを駆使したコンテンツなら、AcrionScript 3.0を使ってAVM2のパフォーマンスを活用すべきだろう。Buttonアクションやフレームナビゲーション程度のスクリプトしか使わない、アニメーション主体のムービーなら、あえてAVM2を使う必要はない。逆に大規模開発のRIAなどで、プログラマーとデザイナーの役割分担がはっきりと分かれていれば、開発はActionScript 3.0を使った方が効率もパフォーマンスもよい。

    問題は、スクリプトとデザインの境目がそれほど明確でない、中規模のプロジェクトである。とくに、プログラマーがコンポーネントや、それに近いMovieClip+スクリプトのパーツをデザイン側に供給する場合だ。そのパーツを利用するために、デザイナーも簡単なスクリプトを書きたい。しかし、そのためだけにActionScript 3.0を学習しなければならないとなると、敷居が高くなってしまう。

    ActionScript 2.0では、クラス内における定義により、ActionScript 1.0と同じシンタックスのon ()ハンドラをコンポーネントインスタンスに設定して、イベントを扱うことが可能だ。ActionScript 3.0でも、スクリプト初心者に向けた同様な機能が望まれる。

    ActionScript 2.0ではコンポーネントにon ()ハンドラでイベントを指定でき、インスタンスにon ()ハンドラを記述するとコードヒントが表示される

    次期バージョンFlashとFlex 2でどのようなワークフローを組み立てるか

    Flash Player 9とともにリリースされるFlex 2製品ラインは、次期バージョンのFlashとの連携も可能だ[*12]。たとえばダウニー氏は、Flex Builder 2でActionScript 3.0のクラスを開発して、ビジュアルデザインは次期バージョンのFlashオーサリングツールで行い、Flashからコンパイル(SWF書き出し)するというワークフローも考えられるという。すると、FlashとFlexは、どのように使い分ければいいのだろうか。

    ちょうどこのテーマについて、海外のActionScript系メーリングリストFlashcodersで、さまざまな議論が交わされている[*13]。FlashとFlexそれぞれに、得意・不得意がある。しかし、どちらもコンテンツを制作するための道具にほかならない。Adobeとしては、それぞれにパワーや特色をもった魅力的なツールを提供する。それらをどう活用し、付加価値の高いコンテンツを効率よくつくりあげていくかは、制作者に委ねられているようである[*14]。

    [*12]「Flex 2製品ライン」や「Flex Builder 2」については、前出「Flex 2.0 FAQ」および前掲注[*1]のAdobeデベロッパーセンターの記事を参照。
    [*13] [Flashcoders]「Flex vs. Flash IDE」参照。
    [*14] 前掲注[*13][Flashcoders]のスレッドにおけるAdobeのDavid Mendels氏による回答を参照。

    関連記事

    関連サイト

    新着記事

    特設サイトの情報

      人気記事

      一覧

      イチオシ記事

      新着記事

      特別企画

      マイナビニュースマガジン