連載
» 2006年11月25日 00時00分 公開

CoolなEclipseプラグイン(13):簡単にFlashアプリを作成できるFlexBuilder 2 (1/3)

[池田貴之, 岡本隆史,NTTデータ 基盤システム事業本部]

Flexとは何か?

業務アプリケーションに進出するFlash

 Flashはもともと、Webを補助する技術として、アニメーションや企業の広告サイトで利用されてきました。しかし数年前から、業務アプリケーションとしても利用されるようになってきました。

 Flashの利点として、ほとんどのブラウザにプラグインが入っており、利用しやすいことが挙げられます。ローカルリソースアクセスへの制限はあるものの、不特定多数のユーザーに対してサービスを提供するような場合には、Flashがプラットフォームの選択肢の1つとして挙がってくるようになりました。

 しかしながら、Flashは、アニメーション開発に向いたツールしかなく、Visual BasicJavaの開発スタイルに慣れた業務開発者にとってはとっつきにくいものでした。

Flexの登場

 2004年、Macromedia(現Adobe)はそれに対する1つの解答を出しました。それがFlexです。Flexは、画面レイアウトとして、XMLを拡張したMXMLを採用し、ロジックはActionScriptを利用します。

編集部注:Flexそのものについて詳しく知りたい読者は、「XMLでリッチクライアントを実現『Macromedia Flex』」や@IT リッチクライアント&帳票 フォーラムを参照してください。


 それまでのFlash開発につきものだった、時間(タイムライン)ベースの開発から、イベントベースの開発となり、業務アプリケーション開発者にとって直感的に分かりやすいものへと変貌を遂げました。しかしながら、1CPU当たり150万円という高額ライセンスがネックとなり、大きく普及するに至りませんでした。

Flex 2の登場

 2006年6月(日本語版は10月)に登場したFlex 2では、ライセンス体系が大きく変更され、非常に利用しやすくなっています。

 まず、サーバライセンスがなくなったことで、サーバへは一切の費用が掛からなくなりました(Flexデータサービスという特別なデータサービス機能を利用する場合はこちらの費用が掛かります)。また、SDK(ライブラリとコンパイラ)も無償で提供されるようになりました。唯一、統合開発環境のFlexBuilder 2のみが、開発者当たり6万4900円で提供されています(2006年11月25日現在)。

編集部注:Flex Builderは、2010年3月の新版から「Flash Builder 4」に名称変更しています。期間限定の無料版をダウンロードして使えます

 FlexBuilder 2は、前バージョンのFlexBuilderと異なり、Eclipseのプラグインとして実現されています。これにより、従来のJava技術者にとって非常にとっつきやすくなっています。また、性能や開発生産性の面でも、前バージョンに比べて大きく改善されています。

図1 Flexアプリケーションの例 (クリックすると、サンプルのページに移動します) 図1 Flexアプリケーションの例 (クリックすると、サンプルのページに移動します)

Flex 2の概要

 Flex 2は、XMLを拡張したMXMLとActionScriptを利用してFlashアプリケーションを作成するフレームワークです。MXMLを利用することで、コンテナやコンポーネントを簡単に記述することができます。

 また、入力チェック(バリデーション)やコンポーネント間のデータバインディング、データモデルの利用などを簡単に行うことができます。多くのコンポーネントが標準で用意されており、カスタムコンポーネントの作成も比較的容易です。また、コンポーネントのアニメーションなどを実現するビヘイビアを簡単に設定することができます。

 開発言語は、レイアウトを定義するMXML、振る舞いを定義するActionScript、スタイルを定義するカスケードスタイルシートからなります。これらのファイルをエディタを利用して自分で作成することもできますが、FlexBuilder 2を利用すると、画面上に部品を張り付けるイメージでレイアウトを編集することができます。

 開発者は、MXML、ActionScript、CSSを、SDKもしくはFlexBuilder 2を利用してコンパイルします。続いて、コンパイルしてできた、拡張子がswfのFlash実行ファイルを、ApacheなどのWebサーバ上に配置します。利用者は、ブラウザ上からFlash実行ファイルをダウンロードしてアプリケーションを利用します(前バージョンまでのFlexではMXMLをJ2EEサーバ上でプリコンパイルする必要がありましたが、Flex 2ではその必要がなくなっています)。

 FlashコンテンツがXMLやSOAP、AMFなどを利用してサーバと通信する場合は、TomcatやPHPなどのWebアプリケーションサーバを利用する必要があります。

図2 Flex 2のアーキテクチャ 図2 Flex 2のアーキテクチャ
       1|2|3 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。