2008年2月25日,アドビシステムズのRIA(リッチ・インターネット・アプリケーション)構築ツールFlexの最新バージョンである「Flex 3」製品群がリリースされました。従来のバージョンに比べて安定性や機能が向上した Flex 3 について,特徴となる新機能と強化点について簡単に紹介します。

 Flex 3 SDK はあるルールの下で,Flex 2.0.1 SDKからバージョンアップされたようです。プロパティや関数名が変わるということはありませんが,機能の中身が変わっていたり,Flex 3 SDK では非推奨になっていたり,新しいプロパティや関数が追加されていたりします。大半は機能アップされ,バグもフィックスされていますが,中には Flex 2.0.1 の構造を維持したまま機能強化させるために,いびつな構造になってしまっているところもあります。

 従来からの Flex ユーザーの中には「今後 Flex 2.0.1 のサポートをどこまでしてもらえるのか?」という不安を持たれている方も多いのではないでしょうか。年間有償サポートを受けている企業は別として,一般の企業やエンジニアの方は Flex 3 製品群に乗り換えていくことを強くお勧めします。FlexBuilder 2 よりも FlexBuilder 3 のほうが明らかに安定しており,機能も向上しています。

価格体系

 FlexBuilder3 の導入を考えている方向けに,留意点をいくつか記載しておきます。

  1. FlexBuilder 3 にはStandard版とProfessional版があり,価格や使用できる機能等に違いがあります。
    • Flex Builder 3 Standard は税込み 3万1500円
    • Flex Builder 3 Professional は税込み 8万9250円
    Professional版でのみ有効になる機能の主なものは
    • データ視覚化系のコンポーネント
      チャート,高機能版データグリッドが含まれます
    • プロファイラ
      パフォーマンスやメモリー使用量などをモニタリングするなどの用途に使用します
  2. アップグレード価格
    米国のAdobe Systemsのサイトには価格表があるのですが,日本のサイトにはなぜかありません。ただ,Adobe Store のページを開くとアップグレードの価格が記載されています。そこで著者のほうで価格表を作成してみました(図1)。また,こちらに Flex関連製品参考価格表(日本語)がありますので,参考にしていただければと思います。
    図1●Flex 3 アップグレード価格マトリクス
    図1●Flex 3 アップグレード価格マトリクス
    [画像のクリックで拡大表示]
  3. FlexBuilder 3 のスタンドアローン版は Eclipse 3.3 がベースとなっています。また,プラグイン版でも同様に Eclipse 3.3 以上がシステム要件です。
  4. スタンドアローン版とプラグイン版ではインストーラが異なり,ダウンロードできるURLも別々になっています(Windows/Mac版は該当ページ内から選択が可能です)。
  5. 試用版 FlexBuilder 3 の試用期間は60日です。
  6. FlexBuilder 3 には個人/法人向け有償サポートがあります。
    Adobe Flex サポートプログラム早見表

Flex 2 と Flex 3 の下位互換性

 まず,下位互換性(Backward compatibility)についてですが,「90%の開発者は気にする必要が無いだろう」と言われています。FlexBuilder 3 ではプロジェクトのプロパティ設定画面でFlex SDK のバージョンを選択することが可能で Flex 2.0.1(Hotfix3)コンパイル環境にもすることができます。

 Flex 3 SDK の下位互換性についてはこちらのページを参照してください。また,英文ですが,こちらには Flex 2.0.1(Hotfix3)コンパイル環境に変えてもサポートされない変更が記載されています。

 次に Flex 3 の新機能に関してです。概要については Flex のプロダクトマネージャである Matt Chotin 氏が Beta 期に執筆した記事が日本語に翻訳されていますので参考にしていただければと思います(「Flex 3の新機能 by Matt Chotin」)。英文ですが,もう少し具体的な機能比較がこちらにあります(「Flex version comparison chart」)。

 ただ,この機能比較表は“知っている人”が見て初めてわかるような内容で,知らない人が見てもほとんどわかりません。なので,著者がまとめ直してみました。

RIA実行環境「AIR」固有の機能

 まずは,RIA実行環境「AIR(Adobe Integrated Runtime)」固有の機能のサポートについてです。AIRはFlex 3 と共にリリースされたばかりのソフトですから,当然のことながらすべて Flex 3 SDK でのみ対応しています(図2)。

図2●AIR固有機能のサポート
図2●AIR固有機能のサポート
[画像のクリックで拡大表示]

1-1:OS/アプリ間ドラッグ&ドロップ
 ブラウザベースのアプリケーションでは不可能であった OS とアプリケーション間でのドラッグ&ドロップです。基本的にクリップボードを介して実行され,ファイルやテキスト(文字列)などのやり取りが可能です(AIR:Drag and Drop のオンラインヘルプはこちら)。

1-2:マルチウィンドウアプリケーション
 ブラウザベースのアプリケーションで作成していた擬似的なマルチウィンドウではなく,正真正銘のマルチウィンドウを意味しています。OS 標準のウィンドウ枠やFlex標準のスキンベースのウィンドウ枠を使用したり,またはウィンドウ枠の無いウィンドウを作成することもできます。複数のウィンドウ間のデータのやり取りもインスタンスベースで非常に簡単に行うことができます(AIR:Working with windows のオンラインヘルプはこちら)。

1-3:ローカルファイルシステムアクセス
 ブラウザベースのアプリケーションでは不可能だったローカルファイルシステムへのアクセスです。OS,またはAIR上のセキュリティ制限はあるもののほとんどすべてのディスク/フォルダにアクセスできます(AIR:Working with the file system のオンラインヘルプはこちら)。

1-4:ローカルデータベース(内蔵 SQLite 使用)
 AIR には組み込みSQLデータベースエンジン SQLite(SQLite についてはこちら)が内蔵され,AIR APIから手軽にデータベースの操作を行うことができます(AIR:Working with local SQL databases のオンラインヘルプはこちら)。現状では,Oracle などのデータベースにAIRアプリケーションから直接アクセスすることはできません。

1-5:HTMLレンダリング(内蔵 WebKit 使用)
 AIRはWebブラウザSafari で利用されているHTMLレンダリングエンジン WebKit(WebKit についてはこちら)を内蔵します。これによってAIR アプリケーション内にブラウザのような機能をもたせることができます(AIR:HTML content のオンラインヘルプはこちら)。例えば,タブブラウザのような AIR アプリケーションを作成することも可能です。