プロダクトレビュー
Eclipseで開発が可能になった「Adobe Flex 2」
スティルハウス
吉川和巳
2006/4/8
編集部注:本記事は2007年に執筆されたものです。Flash Builder(旧、FlexBuilder)の最新情報は、下記記事をご参照ください。
|
Flex 2はJavaアプレットに引導を渡すか?
今後は廃れる一方かと思われたJavaアプレットが、意外なことにさまざまなWebアプリケーション開発でいまも現役で活躍している。例えば株式や為替のオンライン取引を経験した方ならば、クライアントの実装技術としてJavaアプレットを採用する例が少なくないことにお気付きのはずだ。
Webブラウザ内部でJavaアプレットが起動するときの「もたつき感」や、洗練されているとはいい難いUIなど、Javaアプレットは相変わらず多くの弱点を引きずっている。それでもなお消えてなくならない理由の1つは、それが「Java開発者がすぐに使えるリッチクライアント技術」だからであろう。Flashできちんと作り込めば見た目にもクールなリッチクライアントを実現できると分かっていても、Webアプリケーションの複雑なロジックやサーバ連携をきちんと実装できる“開発者としてのFlash制作者”はそう多くないのが実情だ。
そんな現場のニーズに応えるべく、2006年前半のリリースに向けてアドビが開発を進めている製品が「Flex 2」である。Flex 2は、Flash作成経験をまったく持たないJava開発者でも、洗練されたUIを持つFlashリッチクライアントを簡単に作成できるツールだ。Eclipseプラグインとして提供されるビジュアル開発環境を利用し、ボタンやデータグリッドなどの多彩なUIコンポーネントをドラッグ&ドロップ配置することで、Flashリッチクライアントを短時間で生成できる。
ここでは、このFlex 2が提案するFlashリッチクライアントの新しい開発手法を紹介したい。なお、本記事の内容は現在公開されているFlex 2ベータ版に基づいているため、製品版の内容とは異なる場合もあることにご留意いただきたい。
図1 Flex Builder 2の開発画面 (クリックすると拡大します) |
■ひとけた安くなった新バージョン
Flex 2という名が示すとおり、アドビ(旧マクロメディア)では以前から同様の製品である「Flex 1.5」を提供していたが、市場での普及率はいま一歩であった。その理由は単純で、1つは「価格の高さ」、もう1つは「パフォーマンスの低さ」である。Flex 1.5は、開発環境とFlexサーバが一体化した製品として、1 CPU当たり227万円という価格で販売されていた。またFlexが生成するFlashクライアントのパフォーマンスは芳しくなく、とりわけ初回ロード時のクラスライブラリ初期化にJavaアプレット並みの時間がかかる点がネックとなっていた。
しかしFlex 2は、この先代とはまったく別物と考えてよい。まず、Flexサーバに相当する機能が別売りとなり、開発環境のみ「Flex Builder 2」として販売される。米国では1000ドル程度の価格が予定されており、国内でも同様の価格帯となる。このFlex Builder 2を1ライセンス購入すれば、それで作成したFlashクライアントは無制限に配布可能だ。オープンソースとまではいかないが、Flex開発の敷居は格段に低くなったといえるだろう。
■Flash Player 8.5で10倍高速化?
Flex 2がFlex 1.5とまったく異なるもう1つの理由は、それが2006年前半のリリース予定である「Flash Player 8.5」をベースとしている点だ。Flash Player 8.5は、ECMAScript準拠の「ActionScript 3.0」に新たに対応するほか、新規開発されたランタイムエンジンを搭載する。アドビでは、このActionScript 3.0対応ランタイムエンジンをゼロから開発し直しており、従来のFlash Playerとの互換性を維持しつつ10倍以上の高速実行を実現しているという。実際、筆者がFlex 2アルファ版を試用した限りでは以前より格段に“さくさく動く”感触が得られた。また初回ロード時の起動時間が大幅に短縮されている。
ActionScript 3.0の新機能も興味深い。JavaやC#と同様の厳格な型チェックや例外処理をサポートしたほか、XMLをダイレクトに操作できる新しい構文E4X(ECMAScript for XML)を実装し、XML処理をより簡潔かつスマートに記述できる。さらに正規表現による文字列処理や、W3C DOM Events標準に基づく統合イベントモデルを導入している。
ここで、Flex 2を構成する各種テクノロジーを簡単に整理しておこう。
- Flash Player 8.5とActionScript 3.0
- Flex Builder 2
- Flex Framework 2
- Flex Charting Components 2
- Flex Enterprise Services 2
Flex 2の実行環境はFlash Player 8.5とActionScript 3.0である。この実行環境をベースに、多彩なUIコンポーネントやWebサービス接続などの豊富なリッチクライアント機能を実装したActionScriptクラスライブラリ「Flex Framework 2」がFlex 2の基盤を提供する。その上に、ビジュアル開発環境である「Flex Builder 2」、サーバ環境「Flex Enterprise Services 2」、そしてグラフ描画ライブラリ「Flex Charting Components 2」が動作する構成だ。
ちなみに最後のFlex Charting Components 2では、Flashの豊かな表現能力やインタラクティブ機能を生かしたグラフ描画が可能である。ここでは詳しい説明は省略させていただくが、グラフライブラリといえばJChartしか利用経験のない筆者にとっては、トランジションやチャートラインの透明度の制御までも駆使したFlexのグラフ描画は軽いカルチャーショックであった。詳しくは以下のサイトを参照していただきたい。
図2 Flex Charting Components 2によるチャート描画例 |
続いて次ページは、ビジュアル開発環境Flex Builder 2の特長を紹介しよう。
1-2 |
INDEX | ||
Eclipseで開発が可能になった「Adobe Felx 2」 | ||
Page1<Flex 2はJavaアプレットに引導を渡すか?> | ||
Page2<ドラッグ&ドロップでFlashクライアント開発> |
リッチクライアント&帳票 全記事一覧へ |
- GASで棒、円、折れ線など各種グラフを作成、変更、削除するための基本 (2017/7/12)
資料を作る際に、「グラフ」は必要不可欠な存在だ。今回は、「グラフの新規作成」「グラフの変更」「グラフの削除」について解説する - GET/POSTでフォームから送信された値をPHPで受け取る「定義済みの変数」【更新】 (2017/7/10)
HTMLのフォーム機能についておさらいし、get/postメソッドなどの内容を連想配列で格納するPHPの「定義済みの変数」の中身や、フォーム送信値の取り扱いにおける注意点について解説します【PHP 7.1含め2017年の情報に合うように更新】 - PHPのfor文&ループ脱出のbreak/スキップのcontinue【更新】 (2017/6/26)
素数判定のロジックからbreak文やcontinue文の利点と使い方を解説。for文を使ったループ処理の基本とwhile文との違い、無限ループなども併せて紹介します【PHP 7.1含め2017年の情報に合うように更新】 - Spreadsheetデータの選択、削除、挿入、コピー、移動、ソート (2017/6/12)
Spreadsheetデータの選択、挿入、削除、コピー、移動、ソートに使うメソッドの使い方などを解説する
|
|