はじめに
業務システムの開発現場では近年、RIA(Rich Internet Application)が技術要件として求められるケースが増えています。RIAを実現する技術にはさまざまなものがありますが、その中でもAdobeが提供する「Flex」は、全世界で9割を超えるPCにインストールされているFlashのランタイムを活用できる強力なプラットフォームの1つなのです。
本稿ではITエンジニア向けに、Flexとは何か、初心者でも簡単に分かるように解説していきます。
対象読者
- RIA開発をこれからはじめようと思っている方
- 「Flex」というキーワードを聞いたことがあるという方
「Flex=フレームワーク」になりました
米Adobe社は2009年4月、コマンドラインでFlashを開発するツール群「Adobe Flex 4 SDK」と、Eclipseベースの統合Flash開発キット「Adobe Flash Builder 4」、そしてデザイナがFlashの画面デザインを容易に行うことのできるツール「Adobe Flash Catalyst」のベータ版を公開しました(関連ニュース)。
「Adobe Flash Builder 4」の前身である「Adobe Flex Builder 3」は、Flash開発者にとっても有益なツールとして利用されてきました。これは「Adobe Flash CS4」などのスクリプト開発機能に不満を持つユーザーが、その補完目的で活用してきたという側面があります。このような状況であったことから、中には「Flex=スクリプトベースのFlash開発環境」というイメージを持たれている方も多いかもしれません。
今回発表されたベータ版「Adobe Flash Builder 4」からは、名称から「Flex」がなくなりました。これはFlexはFlashの一部であり、さらにRIA開発向けのコンポーネントを備えたフレームワークである、という明確なメッセージングです。これまでは同じFlash技術を使いながら「これはFlashアプリケーション」「こちらはFlexアプリケーション」といったように混乱した状況がありましたが、今後は「Flexフレームワークを使ったFlashアプリケーション」といったようにイメージを明確化できると考えています。
ではFlexフレームワークでは、どのようなことができるのでしょうか。Flexフレームワークで開発されたプログラムは、フレームワークが使われている以外はまったくFlashのswfファイルと変わりありません。Adobe Flex Builder 3を使うことで、レイアウトを記述するMXMLとロジックを記述するActionScriptを併用した「ソースコードを書いてコンパイル」する環境を用意しています。Flexフレームワークには予めRIA開発を行うために、グラフやデータグリッドなどのコンポーネントやリモーティングやバイナリ通信を行うAMF3などの機能を備えています。これらの機能を活用し、サーバとのやり取りを行った上で、クライアント上でFlashランタイムを使ったリッチなUIを持つアプリケーションの開発が可能になるのです。
既にFlexフレームワークは、ひまわり証券の「Hits証券デリバティブ」やAdobeの「Flash Conf.登録アプリ」など、さまざまな業務システムでRIAを実現しています。