「Flex 2」による RIA の新たなる道(前編)

flash 2005-10-12 01:32:21

 今回と次回は少々脱線をして、先日発表された「Flex2」について考察してみたいと思います。そもそも「Flexって何?」という方がほとんどだと思いますので(書いてる私も明るくありません…)、まずは既存の Flex とは何かを見てみましょう。

■ Flex とは

 「慣れ親しみやすい標準規格ベースのプログラミングフレームワークと、よりリッチかつ応答性に優れたエンタープライズアプリケーションのプレゼンテーション層を作成するための開発要素を提供します。」(Macromedia Webサイトより)との事ですが、正直なんのこっちゃ解りませんね。「標準規格(XML/SOAP/ECMAScript)とアプリケーションサーバ(JAVA)などの既存の技術を組み合わせるだけで、RIA※1を作ることが来ますよ!」という解釈で概ね間違い無いと思います。

 Flash のみで開発する場合と違い、デザイナーやプログラマが Flash を一生懸命学習せずとも、お互い少し仕組みを覚えるだけで簡単に RIA を構築出来るというのが大きなメリットだと思います。

■ Flex の特徴

・View の分離

 Flash でアプリケーションを開発する際に、MVC※2 で言うところの View と Control が一緒になってしまう場合が多く、かなり意識をしないと上手に分離することが出来ません。プログラム上で全ての View を生成出来れば良いのですが、どうしても ライブラリやステージ(flaファイル)に依存してしまいます。それが Flex になると、「MXML」と呼ばれる View 生成用のXMLを定義するだけで生成する事ができ、「ボタンが押された」などのイベントの定義まで行えるようになります。

  Flash : fla + ActionScript2(イベント発生など)

  Flex : MXML

 View と完全に分離できる事により、プログラマにとって一番苦手な View をデザイナー等に任せることが出来ます。XMLでの定義になるので、HTMLを書ける人が見ればすぐに作業を行うことが出来るのも利点です。

・swf の動的生成

 「このユーザには機能"A"があって、あのユーザには機能"B"と機能"C"があるけども、機能"A"はない」と言ったように、ユーザによって機能を切り替える時、Flash では全ての機能を実装した swf を用意する必要があります。機能の追加がある度に swf を生成しなおす事になるので柔軟性に欠け、リソースや時間に無駄が発生しやすくなります。小さいアプリケーションの場合は問題が少ないかもしれませんが、大きなモノ(ECサイトなど)になるとその意味が良く解ると思います。この問題の解決方法の一つして、Flex による swf の動的生成があります。ユーザがリクエストをした段階で、必要とする機能だけを含んだ swf をサーバで生成されるので、全パターンを考えて swf をあらかじめ作成する必要が無く、シンプルでバグの要因も少ないベストな状態のアプリケーションを提供する事が出来ます。機能を追加したい場合も追記するだけで、ユーザにすぐ反映することが出来ます。

 他にも特徴がありますが、長くなりそうなので省略をさせて頂きます。では、Flex 2 は既存の Flex とどこが違って、どうすごいのか?それは次回にお伝えしたいと思います。

(亀崎洋介)

※1 Macromedia社が提唱する、Flashを用いた表現豊かなWebアプリケーション。

※2 データなどの処理を行う「Model」、表示行う「View」、View と Model を制御する「Control」の組み合わせでアプリケーションを構築する方法。

※このエントリはZDNetブロガーにより投稿されたものです。朝日インタラクティブ および ZDNet編集部の見解・意向を示すものではありません。

SpecialPR