デザイナーとデベロッパーを調和させるAdobeの魔法がいよいよ市場に

新たなフレームワーク/ツール群を投入し、デザイナーとデベロッパーのワークフローをとうとう調和させたAdobeは、Flashの可能性をさらに広げようとしている。

» 2010年04月12日 13時00分 公開
[西尾泰三,ITmedia]

 Adobe Systemsは、Adobe Flash PlayerやAdobe AIRといったRIAアプリケーションの開発において、デザイナーとデベロッパーが双方向で作業を行う「ラウンドトリップワークフロー」をいよいよ現実にしようとしている――その鍵となるのは、同社が3月下旬に発表した「Adobe Flex 4」および「Adobe Flash Builder 4」、そして間もなくリリースされる「Adobe Flash Catalyst」「Adobe Creative Suite 5」だ。これらは「Adobe Flash Platform」を構築するフレームワーク/ツール群だ。

マイク・ポッター氏 「作り手が考えていたものを実現できるプラットフォームが完成した」とポッター氏

 FlashやAIRが広範なプラットフォーム(残念ながらiPhone OSではサポートされていないが)で一貫したユーザー体験を提供しているのは周知のとおりだが、その開発に目を向けると、自由度の高いRIA開発だけに、課題も残っていた。

 FlashやAIRをターゲットとするRIA開発に従事するデザイナーとデベロッパーのワークフローが抱えていた課題について、Adobeでシニアデベロッパーマーケティングマネージャを務めるマイク・ポッター氏は、「アウトプットとなるFlashのデザインが、本当にデザイナーの意図した通りに仕上がっているかどうか」と指摘する。

 これまで、Flashの開発でインタラクションを設定するには、MXMLとActionScriptの知識が必要だった。コーディングが必要となるため、この作業はデベロッパーが主に担当してきたが、デザイナーが求めるインタラクションを正確に再現するために、手戻りが発生するケースは珍しくない。グラフィックに明るいデザイナーと、コーディングに明るいデベロッパーは、お互いを理解する共通言語を持たなかったのが問題だった。

 しかし、上述したような製品群の登場により、ようやく解消されようとしている。ポッター氏は「作り手が考えていたものを実現できるプラットフォーム」と新製品の投入に自信を見せる。以下では、それぞれのフレームワーク/ツールについて、ポッター氏の言葉を交えながらポイントを紹介する。

Flex 4 SDKでビジュアルとビヘイビアが分離

 コンパイラや開発を迅速化するライブラリを含むオープンソースのフレームワーク「Flex SDK」。前バージョンのFlex 3 SDKがリリースされたのは2008年2月で、実に2年ぶりのメジャーアップグレードとなる。

 ポッター氏は、Flex 4 SDKの開発に当たって重視したのは「デザインの重視」「デベロッパーの生産性」「フレームワークの進化」の3つだと話す。

 新しいアニメーションエンジンの導入によるエフェクトとトランジションの改善やバインド先への更新がバインド元にコピーされる2-Wayのデータバインディングのサポート、コンパイラのパフォーマンス改善、さらに、Flex 3以前はMXML上にハードコーディングしていたステート(状態)の設定がシンプルになるなど、機能改善のポイントは多岐にわたる。特に注目したいのは、新しく採用された「Sparkコンポーネントアーキテクチャ」だ。

 Flex 3 SDKまでのコンポーネントアーキテキチャはMX(Halo)と呼ばれるが、MXコンポーネントは、デザイナーとデベロッパーのワークフローを調和させる上で重大な問題があった。個別のコンポーネントにビヘイビアやレイアウト、ビジュアルに関するロジックがすべて含まれており、ビジュアルとビヘイビアが不可分だったのだ。

 Sparkコンポーネントは、MXコンポーネントのベースクラス(UIComponent)を拡張したものだが、スキンクラスとコンポーネントクラスを用意することで、ビジュアルとビヘイビアを明確に分離した。これにより、コンポーネントの視覚的要素をデザインする作業と、ビヘイビアのロジックの実装が独立し、デザイナーとデベロッパーがそれぞれの作業に集中すればよくなった。

 「Flex 4 SDKのリリースは、通常われわれが考えるリリースサイクルからすると時間が掛かってしまいましたが、時間的なトレードオフが発生しても、新しいアーキテクチャへの移行は不可欠と判断しました。この新しいアーキテクチャで、われわれは明るい未来を迎えることができると考えています」(ポッター氏)

Flash Builder 4は順調な進化

 Flex 4 SDKを基盤とするツールが、開発環境のFlash Builder 4と、インタラクション設計ツールのFlash Catalystだ。ポッター氏はFlash Builder 4の開発で重視したポイントとして「生産性の向上」「データ中心型開発(DCD)のサポート」「デザイン/開発フローの改善」を挙げる。

 アプリケーションの開発は、そのほとんどの時間がコーディングとテストで消費される。このため、Flash Builder 4の機能強化は、この2つに掛かる時間を短縮するためのものが大半を占める。コーディング面では、リファクタリングやデバッグ、プロファイラーといった部分で機能強化が図られているが、ポッター氏は、より重要なのは後者であるとし、従来はサードパーティのツールを用いるケースが多かったネットワークモニタリングのほか、ユニットテストフレームワーク「FlexUnit」を統合したと話す。

 また、データ中心型の開発を支援する機能も見逃せない。データ中心型の開発とは文字通り、データベースやサービスとの連携を前提に開発を進めるもので、Java、PHP、Adobe ColdFusion、REST、SOAPサービスなどをウィザード形式で簡単にFlexコンポーネントにバインドできるようになったという。

Flash Catalystが開発ワークフローを真の調和へ

 Flex 4 SDKのSparkコンポーネントアーキテクチャがデザインとロジックを分離していることはすでに述べたが、デザイナーとデベロッパーがお互いを理解する共通言語がなければワークフローは調和しない。その役割を担うのが、宣言型のグラフィックフォーマット「FXG」(Flash XML Graphics)であり、ツールとしてのFlash Catalystである。

 Flash Catalystは、Creative Suiteツールで作成したアートワークを読み込んでインタラクションデザインを行うためのツールで、Creative SuiteとFlash Builderの間を取り持つツールでもある。Creative Suiteの各ツールで作成したアートワークをFXG形式で書き出すと、Flash Catalyst上ではレイヤなどの属性情報を引き継いだ形でスキンやアセット、コンポーネントとして利用でき、ActionScriptを知らなくてもGUIでインタラクションやエフェクトを追加できる。

 Flash Catalystで作成したプロジェクトは、FXP(Flex Projectの略)というファイル形式となるが、これはそのままFlash Builderで開くことができ、デベロッパーが追加のロジックをコーディングして最終的なアウトプットを作成することになる。

 もし修正が発生した場合も、ビジュアルとビヘイビアが分離しているので、Flash Catalystで再度開けばデザイナーが簡単に修正できる。Flash Catalystが登場する前は、ActionScriptでビヘイビアやインタラクションをひも付けてコンポーネントとしていたことを考えれば、デザイナーの意図をより忠実に反映できる開発が可能となるというわけだ。

 Catalystは「触媒」という意味を持つが、Creative SuiteとFlash Builder、あるいはデザイナーとデベロッパーをより自然な形で結びつけたという点で、今後のRIA開発をより高度な形に進化させるだろう。

HTML5との調和も

 Flashは圧倒的なインストールベースを有し、Web上で実現できるものの幅を広げてきたのは疑いようのない事実だ。加えて、今回の新製品投入で開発のワークフローを見通しのよいものとし、その可能性を広げようとしている。

 しかし近年、HTML5に見られるよう、これまでプラグインが必要だったものをすべてWebブラウザだけで実現しようという動きもみられ、Flashは役目を終えたのではないかという声もごくまれに耳にする。例えばHTML5のvideoタグを利用して、プラグインを使うことなく動画を再生可能にする試みはYouTubeなどでも試験的に始まっており、こうした意見には一見耳を傾ける価値があるようにみえる。

 しかし、HTML5に関するAdobeの意見は終始一貫している。「HTML5とFlashは、片方がもう片方に取って代わるものではない」というものだ。ポッター氏は、「HTML5の盛り上がりを見ていると、Webで実現できる境界線をどう広げるかという点でFlashがこれまで取り組んできたことと同じ道であり、(HTML5に比べて)先行しているFlashの重要性を改めて際立たせているように思います。HTML5に対するAdobe技術の優位性を挙げるなら、革新のスピード、その革新を開発者がすぐに享受できること、そして、ブラウザとの一貫性を担保できる点です」と話す。

 しかし、その一方で、現在、ベストなアプリケーションでよく見られるのは、HTMLとFlashを組み合わせたものだとポッター氏は話し、その一例としてチャートの部分にAjaxなFlashを用いているGoogle Financeを挙げる。

 「ビデオ周りなどでHTML5とFlashは機能的には重複する部分もありますが、重複していない部分の方が多いのです。例えばDRMのようにコンテンツ保護の機能が必要であれば、現在のHTML5では対応できませんし、テキスト周りや高度なグラフィック処理でもFlashに分があると思います。総じて言えば、Flashが選ばれる理由もあれば、HTML5が選ばれる理由もあり、適所適材で利用していくのが望ましいということです」(ポッター氏)

 さらに重要なこととして、HTML5がまだ仕様の段階であることを指摘する。HTML5の仕様は主要なブラウザで先行して実装が進んでいるとはいえ、ブラウザごとに実装方法の違いが出てくる可能性も十分にある。「HTML5の普及を待つという選択肢もあるが、技術の標準が確立するまで顧客が待つとは限らないし、それではビジネス的に機会損失につながるかもしれないので、理想と現実のバランスをしっかりと把握する必要性を説いた。

 Youtubeで導入されているFlashオーバーレイ広告を見ても明らかなように、ビデオコンテンツから収益を得るモデルが確立していない以上、HTML5を積極的に推進しているGoogleですら、HTML5の使いどころには慎重な姿勢を見せている。さらにAndroid端末でのFlash Player 10採用や、先日発表されたGoogle ChromeへのFlash Player統合計画などを考えると、少なくとも現時点ではHTML5とFlashを対立構造でとらえるべきではなく、適所適材で使い分けるべきだといえるだろう。

 加えて、Adobe Flash Platformは開発のワークフローがきれいに整備されたことで、Web上でできることの可能性を広げる立役者として今後も強力な存在感を放つことになるだろう。

Photo contributed by el7bara


Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ