米シカゴで開催中のAdobe Max 2007において、Adobe Systemsの新しいRIA開発ツール"Thermo"が披露された。Photoshopなどで作成した画像からRIAのユーザーインターフェース(UI)を作成するものだ。生成されるアプリケーションはFlexアプリケーションとなるが、Flexのコードを書く必要はない。デザイナーでもFlexアプリケーションが作れるというふれこみのThermo、本稿ではThermoがRIA開発に与えるインパクトを説明する。
Thermoはパーツごとにレイヤー分けされたPhotoshopファイルを読み込み、それぞれのパーツに、ボタン・テキストフィールド・スクロールバー…… というふうなUIパーツとしての定義付けを行うことができるもの。冒頭、RIAアプリケーションが開発できると書いたが、これは少し大げさで、RIAアプリケーション「のUI」が開発可能というのが正しいだろう。しかし、これには大きな意味がある。
まず、RIAアプリケーションが抱える問題からおさらいだ。Thermoに関係するところ、つまりUIという側面でいえば以下が挙げられるだろう。
- 基本的にUIパーツを自作する必要がある
- それぞれのパーツがマウスオーバーやダウンの際にどう振る舞うかはアプリケーションごとに定義する必要がある
- UIの開発、および、UIとビジネスロジックを結びつけるというときに、ツールやベストプラクティスが不足している
通常のアプリケーションであれば、OSやウィンドゥシステムで定義済みのUIウィジェットを使うのでこのような問題は起きない。しかし、RIAはその自由さ故、こうした問題を抱えている。結果、プロジェクトごとにUIデザイナーがUIモックを作り、プログラマがこれをアプリケーションに実装していく課程で様々な問題が起こることになる。コミュニケーションギャップによって、UIデザイナーの意図が正確に反映されないということが起こるわけだ。
ThermoはUIデザインをデザイナーの手で完結させることでこうした問題の多くを解決できる可能性を持っている。Thermoでは、あるパーツにマウスオーバーした際ツールチップはどういったエフェクトで現れるのか、どのタイミングでフェードインするのかといった、UIの振る舞いがすべて定義可能だからだ。
こうしたThermoの特徴はRIAならではの自由さを活かした、クールで使いやすいUI作成を促進するだろう。デザイナーの意図が正確に反映される意味は大きい。
また、Thermoの生成するアプリケーションは純粋なFlexアプリケーション。つまり、これをそのままFlex Builderに読み込ませてプログラマがビジネスロジックと結びつけ、またThermoに読み込ませてUIを修正する、といったワークフローが可能になる。
これはツールやベストプラクティス不足による工程の戻りが発生しやすいRIA開発にとって非常に大きな意味を持つ。
また、AdobeではExperience DesignにおいてRIAのUIに冠するベストプラクティス提供を行う。現在アルファ版だが、アドビが優れていると考えるアプリケーションを取り上げたケーススタディ、コメントを付けたり議論をしたり得きるコミュニティ機能などが提供される。もちろん、このサイト自体のデザインやナビゲーションも参考になるものだ。
Thermoは既にデモンストレーションが可能な動くプログラムが提供されているとはいえ、まだまだコンセプトワークの段階。提供時期もまだ明らかにされていない。今後、より正確なターゲットや提供方法が吟味されていくことになるだろう。
ThermoによってAdobeはデザイナーという彼らの持つ巨大な顧客層をRIA開発に引っ張り込むことになる。次に期待されるのはデザイナーと開発者を結びつけるツールだ。近い将来、ちょうどBEA SystemsがSOA 360°で行ったような1リポジトリによる開発リソースの管理を実現するツールが提供されるだろう。Adobeがエンタープライズ開発市場を攻略したいのであればThermoはRIA開発の中でもさらにひとつのピースに過ぎないはずだ。FlexやColdFusion、そしてAIRという素晴らしいRIA技術をいかすためにも、彼らがクリエイティブ市場でおこなったようなフルスイート開発環境の提供を期待したい。