Adobe Flex 3 ヘルプ

Flex Builder でのモジュールの作成

次の手順では、Flex Builder で新しいモジュールを作成する方法について説明します。新しいモジュールを作成したら、そのモジュールをコンパイルできます。

Flex Builder でのモジュールの作成

  1. Flex Builder で、ファイル/新規/MXML モジュールを選択します。新規 MXML モジュールダイアログボックスが表示されます。

    êVãK MXML ÉÇÉWÉÖÅ[ÉãÉ_ÉCÉAÉçÉOÉ{ÉbÉNÉX

  2. モジュールの親ディレクトリを選択します。通常は、共有リソースへの相対パスが同じになるように、メインアプリケーションと同じディレクトリにモジュールを格納します。
  3. モジュールのファイル名を入力します。例えば、「MyModule」と入力します。
  4. モジュールの「幅」、「高さ」および「レイアウト」の各プロパティを入力します。
  5. (オプション)アプリケーションによって使用されているモジュールクラス以外を除外するには、「アプリケーション用に最適化」ラジオボタンを選択します。これによって、SWF ファイルのダウンロードサイズが小さくなります。ポップアップメニューから、このモジュールの最適化に使用するアプリケーションを選択します。詳細については、Flex Builder でのモジュールの最適化を参照してください。

    メインアプリケーションで定義されているかどうかにかかわらず、すべてのクラスをモジュールに含めるには、「最適化しない」を選択します。これによって、インクリメンタルコンパイルのパフォーマンスを改善できます。また、モジュールは、ここで選択したアプリケーションだけでなく、任意のアプリケーションにロードできます。モジュールにすべての依存関係がコンパイルされているためです。

  6. 「終了」をクリックします。プロジェクトに新しい MXML モジュールファイルが追加されます。

    次の例は、この新しいアプリケーションのデフォルトのコンテンツを示しています。

    <?xml version="1.0" encoding="utf-8"?>
    <mx:Module xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="400" height="300">
    </mx:Module>
    
    

Flex Builder でのモジュールのコンパイル

Flex Builder では、モジュールをアプリケーションのように実行したり、モジュールのプロジェクトを構築したりすることができます。モジュールが Flex アプリケーションと同じプロジェクトにある場合は、そのアプリケーションを実行すると Flex Builder によってモジュールの SWF ファイルがコンパイルされます。その SWF ファイルが実行時にアプリケーションにロードされます。

モジュールベースの SWF ファイルをスタンドアローン Flash アプリケーションとして実行することや、ブラウザウィンドウにロードすることはできません。1 つのモジュールとしてアプリケーションにロードする必要があります。モジュールを Flex Builder で実行してコンパイルするときは、Adobe Flash Player やブラウザウィンドウを閉じて、エラーを無視する必要があります。Player やブラウザからモジュールに直接要求しないでください。

モジュールの SWF ファイルとメインアプリケーションの SWF ファイルは、通常同じディレクトリにありますが、Flex Builder は、モジュールがある場所(モジュールはアプリケーションと同じディレクトリか、サブディレクトリに配置できます)に関係なく、アプリケーションと同時にモジュールをコンパイルします。

モジュールまたはモジュールのグループごとに独立した Flex プロジェクトまたは ActionScript プロジェクトを作成することもできます。これにより、アプリケーションや他のモジュールとは異なるコンパイラオプションをプロジェクトごとに指定できるので、モジュールのコンパイル方法を詳細に制御できます。また、アプリケーションをコンパイルせずに、モジュールのプロジェクトをコンパイルすることもできます。ただしこの方法では、Flex Builder で開いているすべてのプロジェクトを一度にコンパイルする場合を除き、アプリケーションをコンパイルする前に各モジュールを手動でコンパイルする必要があります。

モジュールをメインアプリケーションとは別にコンパイルする場合、アプリケーションおよびモジュールをデバッグするかどうかによって、デバッグ情報を含めるかどうかを指定する必要があります。詳細については、Flex Builder でのモジュールのデバッグを参照してください。

Flex Builder ワークフローは、単一のアプリケーションにモジュールを関連付ける作業のために設計されています。複数のアプリケーションでモジュールを使用する場合は、ライブラリのコンポーネントまたはクラスにコードをカプセル化して、そのコンポーネントやクラスを各アプリケーションの単純なモジュールに追加することを検討してください。モジュールは、アプリケーション間でのコードの再利用、つまりライブラリの用途で使用するためのものではありません。

モジュールの複数のプロジェクトの使用

プロジェクトのアーキテクチャを設定する際には、モジュールをアプリケーションのプロジェクトに追加するか、モジュールごとに独立したプロジェクトを作成するか、またはすべてのモジュールに対して 1 つの独立したプロジェクトを作成するかを決定できます。

モジュールごとに 1 つのプロジェクトを使用すると、次の利点があります。

  • ワークスペース内の任意の場所にモジュールのプロジェクトを配置できます。
  • カスタムのライブラリパスなど、独自のコンパイラ設定をモジュールのプロジェクトに指定できます。

モジュールごとに 1 つのプロジェクトを使用すると、次の欠点が生じます。

  • 多くのプロジェクトを作成すると、メモリを余計に使用します。
  • 1 つのワークスペースに多くのプロジェクトを追加すると、ワークスペースが乱雑でわかりにくくなる可能性があります。
  • デフォルトでは、アプリケーションをコンパイルするときにモジュールのプロジェクトが変更されている場合でも、すべてのモジュールのプロジェクトがコンパイルされるわけではありません。
  • モジュールのファイルサイズを最適化する必要がある場合は、load-externs コンパイラオプションと link-report コンパイラオプションを手動で適用する必要があります。

これと関連する方法は、アプリケーション自体を独立したプロジェクトに登録したままで、すべてのモジュールに対して 1 つのプロジェクトを使用することです。アプリケーションとモジュールの両方でそれぞれ 1 つのモジュールを使用する方法にはいくつかの欠点がありますが、モジュールごとに独立したプロジェクトを使用するのと同様の利点が数多くあります。

すべてのモジュールに対して 1 つのプロジェクトを使用すると、次の利点があります。

  • ワークスペース内の任意の場所にモジュールのプロジェクトを配置できます。
  • モジュールまたはアプリケーションのいずれかのみをコンパイルできます。両方を同時に再コンパイルする必要がありません。
  • モジュールのプロジェクトで load-externs コンパイラオプションを使用すると、重複する依存関係を削除できます。

すべてのモジュールに対して 1 つのモジュールプロジェクトを使用すると、次の欠点があります。

  • モジュールプロジェクトのすべてのモジュールで、ライブラリパスなどに同じコンパイラの設定を使用する必要があります。
  • デフォルトでは、アプリケーションをコンパイルするときにモジュールのプロジェクトが変更されている場合でも、モジュールのプロジェクトはいずれもコンパイルされません。
  • モジュールのファイルサイズを最適化する必要がある場合は、load-externs コンパイラオプションと link-report コンパイラオプションを手動で適用する必要があります。

各モジュールのプロジェクトの作成

モジュールごとに独立したプロジェクトを作成するときには、モジュールプロジェクトの出力フォルダをアプリケーションが使用するディレクトリに変更します。また、ラッパーファイルの生成を抑制します。

Flex Builder での各モジュールの個別プロジェクトの作成

  1. メインプロジェクトを作成します。
  2. 各モジュールに対する新しいプロジェクトを作成します。
  3. モジュールのプロジェクトを右クリックし、「プロパティー」を選択します。プロパティーダイアログボックスが表示されます。
  4. 「Flex ビルドパス」オプションを選択します。
  5. 「出力フォルダ」を MainProject モジュールディレクトリを指定するように変更します。例えば、次のように変更します。
    ${DOCUMENTS}\MainProject\assets
    
    

    これにより、モジュールのコンパイル出力がアプリケーションプロジェクト(MainProject)のアセットディレクトリにリダイレクトされます。メインアプリケーションでは、ModuleLoader の url プロパティでアセットディレクトリの SWF ファイルを指定できます。このプロパティの値は、出力フォルダによって異なります。

  6. 「OK」をクリックして変更内容を保存します。
  7. プロジェクトプロパティを再度開いて、「Flex コンパイラ」オプションを選択します。
  8. 「HTML ラッパーファイルの生成」オプションの選択を解除します。これにより、モジュールのプロジェクトで HTML ラッパーファイルが生成されなくなります。これらのファイルは、通常はアプリケーションでのみ使用します。モジュールでは必要ありません。
  9. 「OK」をクリックして変更内容を適用します。

各モジュールのプロジェクトのコンパイル

Flex Builder で複数のプロジェクトをコンパイルするのは、共通の操作です。まず、プロジェクトをコンパイルする順序を選択し、次にすべてのプロジェクトを同時にコンパイルします。

Flex Builder でのすべてのプロジェクトの同時コンパイル

 メインメニューからプロジェクト/すべてビルドを選択します。

ワークスペース内のすべてのプロジェクトがビルドされます。各プロジェクトの出力フォルダにアプリケーションファイルが追加されます。ビルドの開始前にファイルを自動的に保存することを選択していない場合、ファイルを保存するように要求されます。

ビルドする順序を変更する場合は、ビルド順序ダイアログボックスを使用します。この手順は常に必要であるとは限りません。モジュールを使用するプロジェクトは、メインプロジェクトのアプリケーションのコンパイル時までではなく、実行時までにコンパイルすれば問題ありません。ほとんどの場合は、デフォルトのビルド順序で問題はありません。

ただし、重複する依存関係を排除する場合は、ビルド順序を変更してメインアプリケーションを最初にコンパイルする必要が生じることがあります。その場合は、link-report コンパイラオプションを使用してリンカーレポートを生成します。モジュールをコンパイルするときには、load-externs コンパイラオプションを使用して、直前にシェルアプリケーションが生成したリンカーレポートを使用します。モジュールサイズの削減の詳細については、Flex Builder でのモジュールの最適化を参照してください。

プロジェクトのビルド順序の変更

  1. 設定ダイアログを開き、一般/ワークスペース/ビルド順序を選択します。

    ビルド順序ダイアログボックスが表示されます。

  2. 「デフォルトのビルド順序の使用」チェックボックスを選択解除します。
  3. 「プロジェクトのビルド順序」の一覧で、上下のボタンを使用してプロジェクトの順序を変更します。メインアプリケーションの一部ではないプロジェクトや、アプリケーションが使用するモジュールではないプロジェクトは、「プロジェクトの除去」ボタンを使用して削除することもできます。ただし、その場合でも、削除したプロジェクトは、ビルド順序一覧内のすべてのプロジェクトの後にビルドされます。
  4. 「OK」をクリックします。
  5. 必要に応じてビルド順序を変更し、「OK」をクリックします。

ワークスペース内の別のプロジェクト間の依存関係を作成すると、コンパイラによってプロジェクトのビルド順序が自動的に判断されるため、これらの依存関係は適切に解決されます。

モジュールごとに独立したプロジェクトを使用する場合は、一度に 1 つのモジュールをコンパイルできます。これにより、すべてのプロジェクトを一度にコンパイルする場合や、すべてのモジュールとアプリケーションのファイルを含む 1 つのプロジェクトをコンパイルする場合よりも時間を短縮できます。

1 つのモジュールのプロジェクトのコンパイル

  1. モジュールのプロジェクトで、モジュールの MXML ファイルを右クリックします。
  2. 「アプリケーションの実行」を選択します。モジュールがコンパイルされると、Player またはブラウザのウィンドウでモジュールが実行されます。実行時に表示されるエラーメッセージは、Player またはブラウザのウィンドウを閉じると無視できます。モジュールは、Player やブラウザから直接実行するためのものではありません。

 

このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート