Apache Flexは、
リッチインターネットアプリケーション(RIA)を構築するための強力なライブラリです。
ソフトウェア開発キット(SDK)としてApache Flex SDKが提供されており、
統合開発環境(IDE)には
Adobe Flash Builderが利用されます。
技術概要
Apache Flexは、MXMLを使用してユーザーインターフェースをデザインし、
ActionScriptでロジックを記述します。これらにより、
Adobe Flash Player上で動作するSWFファイルが生成されます。Flex 3以降では、
Adobe AIR上での実行も可能です。重要な点として、Flex SDKはバージョン4.6まではAdobe Flex SDKとして提供されていましたが、4.7のリリースはなく、4.8.0からApache Flex SDKとして再編されました。
背景と目的
Ajaxブームの火付け役となったGoogleマップは、
Ajaxの代表的なウェブサービスですが、
JavaScriptに依存する点が課題でした。一方、
Adobe Flashは
ActionScriptという
JavaScriptに類似した言語で動作し、
Javaアプレットのようにウェブブラウザ上で利用されてきました。Apache Flexは、これら二つの技術を統合することで、開発コストを削減し、より効率的な開発環境を提供することを目的としています。
Adobe Flashが持つ
Javaアプレットの問題点を解消し、
オブジェクト指向言語による
クロスプラットフォームな実行環境を実現しようとしました。
Apache Flexの利点と課題
Apache Flexは、
Ajaxの弱点であるブラウザごとの実装差異やバグ、挙動のずれを回避し、動的なウェブページを作成できるため、
クロスプラットフォーム開発を容易にするとして注目を集めました。しかし、実際には、Apache Flexも
オペレーティングシステム間の挙動差異という課題を抱えており、特にWindows以外の環境ではバグが多いという指摘もあります。
また、
Adobe Flash Professionalの開発環境はアニメーション作成に特化しているため、プログラマは独特の開発手法を習得する必要がありました。一方、Apache Flexでは、従来のプログラミング手法を生かせるため、アプリケーション開発がより容易であるとされています。
オープンソース化
Adobe Flex SDK 2.0.1以降、ソースコードは
Mozilla Public Licenseの下で公開され、
ActionScriptコンパイラやFlexライブラリがオープンソース化されました。Apache Flex SDK 4.8.0からは
Apache Licenseが適用されています。ただし、
Adobe Flash Playerや
Adobe Flash Builderのソースコードは引き続き非公開です。
LiveCycle Data Services
LiveCycle Data Servicesは、Flexで開発されたクライアントとデータ通信を行うためのミドルウェアです。バージョン2まではFlex Data Servicesとして知られていましたが、2.5からはLiveCycle Data Services ESに改称されました。これは
アドビの製品戦略によるもので、名前は変更されましたが、Flexとの連携に特化したミドルウェアであることに変わりはありません。
歴史
重要な点として、Apache Flexのバージョン4.7はリリースされませんでした。
関連項目
Adobe Flash Builder
Adobe AIR
外部リンク
*
公式ウェブサイト
Apache Flexは、RIA開発において重要な役割を果たしてきましたが、そのオープンソース化と技術的な特徴を理解することは、現代のウェブ開発においても価値があると言えるでしょう。