Flight Framework(リンク)は、Adobe Flexでのアプリケーション開発用に増え続ける一連のMVCフレームワークに最近登場したものだ。Tyler Wright氏(リンク)、Rob Taylor氏(リンク)、そしてJacob Wright氏(リンク)はActionScriptやFlex開発のニーズを満たすためにFlight Frameworkを作り上げ、最近になってMITライセンスのもとベータ版としてオープンソース化した。Tyler氏は自身のブログ(リンク)でこのリリースについて語っている。
Flight Frameworkはここ数年流行のActionScriptフレームワークの発展版である。これはCairngormの後継であり、もともとはロゴ作成やブックビルダといったウェブ・ベースでデザイン中心のアプリケーション用に設計された。現在でも、このフレームワークはCommandHistory(やり直しや取り消しの全ソリューション)やサービスを強化するその他の実用的なユーティリティを標準装備している。
Flight Frameworkはサーバの実装に役立つFlexおよびFlashアプリケーションといった対応クライアントのサポートを重要視する姿勢を維持している。ドメイン(モジュラMVCシステム)や規定構造を通して、このフレームワークはコンポーネントのスクリプト記述を実際のアプリケーション展開に変換する。
このフレームワークの説明で、クリエイタはこれを「定型(boilerplate)」コード全てを除いてCairngorm(参考記事)になぞらえることが多い。プロジェクトのブログがこのフレームワークのさらなる詳細(リンク)について説明している。
このフレームワークはアプリケーション開発の複雑さを最小限にするモデル・ビュー・コントローラ・ワークフローを規定する。ドメイン・ロジックをモジュール化し、チーム開発を効率化し、自然なインタラクティブ・プログラミング環境を構築する。最も重要なことだが、Flight Frameworkは、日常的なコーディング作業を可能な限りシンプルで楽しめるものにするよう設計されている。
Flightは最小主義である。そのサイズから規定プロセスに至る全てにおいて、絶対必要量以上のものを要することがないよう保証している。
...
Flight Frameworkは、アプリケーションの全階層で活用できる共通の構造と手順を規定している。
...
Flightアプリケーションは、1つあるいは複数のMVCモジュール又はドメインのグループから構成されている。Flight下の各ドメインは特定のビジネス・ドメイン、または実際の関連問題および解決の組み合わせを表している。ドメインの例は無限で、ユーザ・アカウントからショッピング・カート全体まで、あるいはアプリケーションのスクリーン・フローからフル画像編集ライブラリまでといった範囲に及ぶ。これらのMVCサブシステムは、アプリケーションの目標を反映してユーザ自身が定義でき、特定の目的に対して固有のものとなる。完全に自己完結型で多くのプロジェクトで再利用されるドメインがある一方、ドメイン間あるいはアプリケーションとの間に依存性があるドメインもある。複雑なシステムのより優れたモジュール化と管理性のためドメインは階層的に編成もでき、高階層のドメインはサブ・ドメインのグループを包含する。高性能なツールであるが、ドメインは開発におけるアプローチに対して十分にシンプルであり、容易である。Flightにおいて、明確に定義されたドメインはアプリケーション開発の強みとなるだろう。
Flight Frameworkの詳細についてはこちらのプロジェクト・サイトでhttp://www.flightxd.com。