エア初心者です。Flexbuilder 3 に取り込むことを検討している既存の Flex 2 アプリケーションがあります。私の質問は、Air バージョンを作成するために同じベース アプリケーション (およびソース コード) を使用できるか、または別のコード ツリーを維持する必要があるかです。 : 1 つは Air バージョン用で、もう 1 つは Flex/SWF バージョン用ですか?
5 に答える
Flex と AIR の両方のアプリケーションを同じソースから作成するための最良の方法は、ほとんどすべてのコードにコア ライブラリ プロジェクトを使用し、Flex と AIR アプリケーションに個別の小さなプロジェクトを使用することです。
これを非常に強力で保守しやすいものにする 2 つの重要な概念があり、2 つのアプリケーションだけでなく、必要に応じて多くの「エディション」を使用できます。
モジュール:- コア アプリケーションが実際にモジュール (または他のモジュールをロードするモジュール) である場合、基本的にそこにあるスタブ Flex および AIR アプリケーションを簡単に作成して、プロジェクト プロパティを設定し、モジュール間通信用の参照クラスを設定できます。次に、コア アプリケーション モジュールを ModuleLoader でロードするだけです。
ファクトリ オブジェクト:- Flex アプリケーションでは実行できないことを AIR デスクトップ アプリケーションで実行したい場合、またはアプリケーション間で異なる動作をさせたい場合は、オブジェクトのインスタンスを作成するファクトリ オブジェクト。プロジェクト固有のクラスは、それを行うための優れた方法です。たとえば、「保存」関数を呼び出すことができます。この関数は、AIR ではファイル システムに保存しますが、Flex では Web サービスを呼び出します。
これを行う方法については、同じコード ベースから Flex と Adobe AIR アプリケーションを構築する方法に関する Todd Prekaski の優れた Flex DevNet 記事を参照し てください。
メイン モジュールを作成する Flex ライブラリ プロジェクトを作成したら、Flex および AIR アプリケーション プロジェクトを作成します。2 つのアプリケーション プロジェクトのプロパティで、ライブラリ プロジェクトの src ディレクトリを Flex Build Path に追加します。プロジェクト設定では、Flex Modules セクションにモジュールを追加して、プロジェクトを最適化するオプションを設定する必要もあります。
同じ Flex Builder プロジェクトに AIR と Flex の両方を混在させることはできませんが、コードを共有することはできます。方法は次のとおりです...
- 通常どおり Flex ベースのプロジェクトを作成します。
- 2 つ目の AIR ベースのプロジェクトを作成します。
- 2 番目のアプリケーションで、[プロジェクト] -> [プロパティ] に移動します。
- 「Flex ビルド パス」オプションを選択します。
- [ソース パス] の下に、最初の Flex ベースのプロジェクトのソースを含むフォルダーを追加します。
これで、両方のプロジェクトが flex プロジェクトのコードを共有します。
両方のアプリ間で共有する予定のコードで AIR のみの API を使用しないように注意する必要があります。
同じものを使用できます。
1 つの方法は、アプリケーションの大部分をライブラリ内のグループ ベースのコンポーネントに配置することです。
Flex アプリケーションと AIR アプリケーションの両方で、そのコンポーネントを Window に埋め込むことができます。
カスタム コードが必要な場合は、プラットフォームに固有のすべてのメソッド (loadFile、saveFile など) を持つ Interface オブジェクトを Group コンポーネントで受け入れるようにします。各アプリケーションは、これらのメソッドを適切に実装するオブジェクトを挿入します。
私は、ローカル データ アクセス レイヤー全体を (SQLite データベースに) 注入した製品に取り組んできましたが、コア アプリケーションは、それがブラウザーで実行されているか、デスクトップで実行されているか (接続されているか切断されているか) わかりませんでした。
乾杯
Air、Web、common の 3 つのプロジェクトを作成します。空気とウェブから、一般的なものを含めます。
http://simplifiedchaos.com/how-to-compile-both-flex-and-air-application