いまさら聞けないFlex、
そして、いまこそ入門のとき!?

Flex 3正式版リリース! Flexの過去・現在・未来

クラスメソッド株式会社
篠崎 大地
2008/3/31


Flex 3の新機能はこんなにある


2つの新コンポーネントの追加

 業務系で使用頻度の高いコンポーネントであるDataGridの高機能版、「AdvancedDataGrid」と「OLAPDataGrid」が追加されました。より複雑な構造やレイアウトを表示できます。

コーディング支援機能

 リファクタリング機能が搭載されました。開発中に変数名や関数名を変える場合、この機能を使えば、関連するソースコード上のすべての場所で、自動的に名前を変えてくれます。より安全に変数・関数名を変更できます。

 また、使われていないimport文の整理も行えるようになっています。

図2 不要なインポート文の整理
図2 不要なインポート文の整理

プロファイラの搭載

 開発中のコンテンツのメモリ割り当て・解放の様子を細かく追跡できるようになりました。いままでコントロールできなかった、GC(ガベージ・コレクション)の実行もプロファイラから行えます。これにより、リソースのリークがないかどうかの確認ができます。Flex 2では、このたぐいの情報では、使用している総メモリ量の取得しかできませんでした。

 関連して、Flash Player 9.0.115では、実行時のメモリ使用量などを追跡するためのAPIとして、「flash.sampler.*」が提供されています。さらに、関数単位の実際の実行時間も記録可能です。

図3 プロファイラ
図3 プロファイラ(画像をクリックすると拡大します)

デバッグ支援

 デバッグ中に、ソースコード上の変数や式にマウスオーバーすると、その値がチップ表示されるようになりました。

図4 変数の値のツールチップ表示
図4 変数の値のツールチップ表示

Flash IDE CS3との連携

 Flash IDE(Flashコンテンツ開発環境) CS3との連携をサポートする「UIMovieClip」「ContainerMovieClip」という新しいクラスがFlexフレームワークに追加されました。

 Flash IDE CS3で基本となる部品を作り、Adobeが無料で提供する機能拡張を使ってFlexのコンポーネントに変換することで、Flex側に容易に受け渡すことができます(※Flex 2は、Flash IDE CS3に先行してリリースされたこともあり、いままでは連携のための機能拡張がβ版として提供されていました)。

 また、フレームワーク側で、ステートフルなスキンがサポートされました。
コンポーネントの状態(例えば、マウスオーバー/マウスダウン)に応じて、背景がアニメーションするような凝ったボタンを作成することが容易になっています。

制約ベースのレイアウト種類の追加

 制約に列制約と行制約が追加されました(ConstraintColumn/ConstraintRow)。Canvasなど、絶対座標を使って子をレイアウトするコンテナと組み合わせて使うことにより、より柔軟なレイアウトを定義できます。

図5 行/列制約
図5 行/列制約

Flexフレームワークのキャッシング
  (Flash Player 9.0.115.0以降との組み合わせの場合のみ)

 Flexフレームワークのコンパイル済みのバイナリを、クライアント側のFlash Playerでキャッシュする機能が、Flash Player 9.0.115で追加されました。

 これによりFlex 3で作成したアプリケーションのファイルサイズを、大幅に小さくできます。フレームワークはクライアント側でキャッシュされるため、フレームワークを省いた形でコンテンツを配置できます。WindowsにおけるDLLのような機構です。

国際化のサポート

 Flex 2でも国際化のための仕組みがありましたが、Flex 3では(言語などを)実行時に動的に切り替えできるようになりました。

Webサービスの自動インポート機能

 WebサービスのWSDLURIを指定すると、内容を解析し、そのWebサービスにアクセスするためのActionScriptソースコードを生成する機能が追加されました。

高品質・高圧縮率な動画コーデックのサポート

 Flash Player 9.0.115から、H.264形式の高精細な動画を再生できるようになりました。音声面ではHE-AACをサポートしています。

Flexの未来はいったいどうなるの?

 Adobeのホームページ上では、早くもFlex 4のロードマップが公開されています。

図6 Adobe OpensourceのFlex 4のページ
図6 Adobe OpensourceのFlex 4のページ 

 2008年末にβ版、2009年にリリースが予定されており、オープンソース化されたFlex SDK 4の開発中のソースコードは、Subversionリポジトリ上で誰でも確認できます。

デザイナーとの協業を加速させる「Thermo」

 RIAで今後ますます重要になってくるのが、UIやインタラクションの設計です。

 現在のFlexの開発フローでは、デザイナーの仕事をプログラマーが受け取り、インタラクションを加えていくのが一般的ですが、Adobeで開発中のツール「Thermo(コードネーム)」では、このフローをさらに一歩踏み込み、デザイナーが動きの部分まで作りこんだ後、MXMLファイルとして出力できるようになるといわれています。

図7 Adobe labsのThermoのページ
図7 Adobe labsのThermoのページ

 デザイナーがコントロールできる領域が増すことで、コミュニケーションロスや手戻りが減り、高品質なRIAの開発につながるものと期待されています。

Officeやファイル共有も!? 米のAdobe Max2007総評
連載:Flash観測所(7) 先ごろ米で開催されたユーザーカンファレンスAdobe Max2007。RIAの今後の方向性を知るうえで非常に重要な発表が今年も山盛りでした
リッチクライアント & 帳票」フ ォーラム 2007/10/15

オープンソース化の恩恵

 Flex 3のリリースと併せ、Flex SDK 3/BlazeDSがオープンソース化されました。コミュニティからの貢献やフィードバックを通じ、機能追加やバグ修正が行われ、さらに安定した基盤となることが期待されます。

ユーザー主導のリッチクライアント研究広がる
WCR Watch(14) Flexの勉強会を草の根ユーザー会FxUGが開催、50名以上の参加者を集めた。高い関心の背景にはリッチクライアントへの切実なニーズの高まりがある
リッチクライアント & 帳票」フォーラム 2006/8/1

いまこそFlexに触れてみませんか?

 本稿ではこのように、Flexや、それを取り巻くAdobeのほかのRIA関連製品群の変遷を振り返ってきましたが、いかがでしたか。

 AdobeのFlexチームのプロダクトマネージャ、Matt Chotin氏もFlex 3の紹介記事の中で書いていますが、いまはFlexに触れてみるのに最適な時期だと筆者も思います。「Flex 2のリリースは素晴らしいことだったが、Adobeが必要と考える機能をすべて含めるには時間が足りなかった」(Matt Chotin氏)。

 実際にFlex 2で開発を行っているときには、リファクタリングやプロファイラは欲しい機能でした。Flex 3にはそれらが備わっています。また、開発したプロジェクトをAIR化し、AIRに特化した実装を加えることでより魅力的なRIAとする楽しみもあります。

 状況が整ったいま、大きな障壁は見当たりません。この機会にFlexの世界に触れてみるのはいかがでしょうか。

プロフィール:篠崎 大地(しのざき だいち)
クラスメソッド株式会社 情報システム部 テクニカルスペシャリスト
Macromedia Certified Flash MX 2004 Professional 認定技術者
Adobe Certified Professional Flex 2.0 Developer 認定技術者

Flashエンジニアとして教育系コンテンツの設計・開発などを経て、クラスメソッド株式会社に。
入社後は、主に金融・証券系のRIAコンテンツの開発に従事し、証券取引システムのフロントエンドやチャートシステムなどの実績がある。初めて触ったMacromedia製品はDirector 3.1。Flashは5から。

1-2

 INDEX
いまさら聞けないFlex、そして、いまこそ入門のとき!?
  Page1
Flex 3正式版リリース! いまさら聞けない「Flex」とは?
AIRによって大きな1ピースがはまった
いまこそ総まとめ! Flex/Flashの歴史
Page2
Flex 3の新機能はこんなにある
Flexの未来はいったいどうなるの?
いまこそFlexに触れてみませんか?




HTML5 + UX フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

HTML5+UX 記事ランキング

本日 月間