Flexとは
Flexとはいったい何でしょうか。最も簡単な答えはこうです。Flexとは、Adobe Flash Professionalで作成されたAdobe Flash Player上のアプリケーションを作成する方法の1つです。FlexアプリケーションはコンパイルされてSWFファイルになり、ブラウザー内部で Flash Playerによって実行されます。
Adobe Flash Professionalで作成されたAdobe Flash Player上のアプリケーションを作成する方法がもう1つ必要になった理由は何でしょうか。これまで、このようなアプリケーションは、Flash Professionalオーサリングツールを使って作成されていました。このツールを見ると、これが主にデザイナー向けであることがわかります。ここには、ステージ、タイムライン、描画ツールなどがあります。
アプリケーション開発に生産性を求める場合、コンポーネントが使用できることや、コードの再使用によって開発を効率化できることや、最新のIDEが使用できることなどが重要です。
そこで、先ほどの答えをもう少し詳しく言えば、Flexとは、Flash PlayerまたはAdobe AIR内部で動作するリッチインターネットアプリケーション(RIA)をデベロッパーがすばやく作成できるようにするためのオープンソースフレームワークであるといえます(組み込みUIコンポーネントの一覧については図1を参照)。このフレームワークは、Flex 2、Flash Player 9、ActionScript 3の登場とともに、現在とほぼ同じ形態になりました。最新バージョンはFlex 4です。
Flexを導入する理由
上記のように、Flexを使用すれば、Flash Player(Webアプリケーション)またはAdobe AIR(デスクトップアプリケーション)向けのアプリケーションを作成できます。それでは、Flash PlayerまたはAdobe AIR向けのアプリケーションを作成できると何がいいのでしょうか。
それには少なくとも2つの理由があります。RIAとコンテキストアプリケーションです。
Webアプリケーションとデスクトップアプリケーションを比較すると、次のようなことがいえます。
- Webアプリケーションの利点は、ブラウザーとインターネット接続があればどこでも使用できることです。配布と保守のコストも小さくなります。サーバーに新しいバージョンを置くだけで、すべてのクライアントがアップデートされるからです。
- デスクトップアプリケーションの利点は、高機能のUIを提供できることと、ユーザーの操作に対する応答性が高いことです。
このように、これら2種類のアプリケーションには、それぞれの強みがあります。そこで、Webアプリケーションのアクセスと利用のしやすさと、デスクトップアプリケーションの高機能性と応答性を兼ね備えたもう1つの種類のアプリケーションがあればいいのではないでしょうか。実際には、この種のアプリケーションは既に(Macromediaがこの呼び方を初めて使用した2002年以来)存在します。それはリッチインターネットアプリケーション(RIA)と呼ばれています。Flexを使えば、RIAを簡単に作成できます。
2002年の誕生以来、RIAは様々な発展を遂げてきました。最初の頃は、公開されるアプリケーションに使用されていました。近年では、企業のファイアウォール内部でRIAが用いられるケースが増えています。RIAを企業で使用すると、ROIを向上させることができます。図2と3では、車の衝突事故に関する簡単な形式のデータ収集をRIAで実装する方法を示しています。ユーザーがテキストエリアにたくさんの情報を入力する代わりに、ユーザーインターフェイスを通じて車を選択し、損傷を記述し、事故の様子を描写できるようにすることができます。