標準 RSL またはクロスドメイン RSL を使用するには、まず RSL として使用するライブラリを作成する必要があります。フレームワーク RSL を使用する場合、ライブラリは既に作成済みです。この場合は、ライブラリをコンパイルしてから、Flex アプリケーションと一緒に SWZ または SWF ファイルを展開するだけで済みます。
標準 RSL またはクロスドメイン RSL は、作成したカスタムコンポーネント、クラスおよびその他のアセットのライブラリです。ライブラリは Flex Builder または compc コマンドラインコンパイラのいずれかを使用して生成できます。ライブラリは、1 個の SWC ファイル、またはライブラリ .swf ファイルとカタログ .xml ファイルを 1 つずつと、さらにプロパティファイルやその他の埋め込みアセットを格納するオープンディレクトリです。任意のライブラリを RSL として使用することができますが、必ずしもライブラリを RSL として使用しなくてもかまいません。
Flex Builder で新しいライブラリを作成するには、ファイル/新規/Flex ライブラリプロジェクトを選択します。ライブラリにリソースを追加するには、Flex ライブラリビルドパスダイアログボックスを使用します。「Build Library」または「Build All」を選択すると、Flex Builder は SWC ファイルを生成します。生成された SWC ファイルには、library.swf が含まれます。
コマンドラインでは、compc コンパイラを使用してライブラリを生成します。ライブラリにファイルを追加するには、SWC ファイルのコンパイル時に include-classes および include-namespaces オプションを使用します。
次のコマンドラインの例では、compc コンパイラを使用して CustomCellRenderer.swc という名前のライブラリを作成します。
compc -source-path ../mycomponents/components/local
-include-classes CustomCellRendererComponent
-directory=true
-debug=false
-output ../libraries/CustomCellRenderer
コマンドラインのオプションは、以下の例に示すように、flex-config.xml ファイル内に設定することもできます。
<?xml version="1.0">
<flex-config>
<compiler>
<source-path>
<path-element>../mycomponents/components/local</path-element>
</source-path>
</compiler>
<output>../libraries/CustomCellRenderer</output>
<directory>true</directory>
<debug>false</false>
<include-classes>
<class>CustomCellRendererComponent</class>
</include-classes>
</flex-config>
すべてのクラスとコンポーネントは、出力されるライブラリに静的にリンク付けされる必要があります。compc コンパイラでライブラリを作成する場合は、ファイルをライブラリに追加するときに include-file オプションを使用しないでください。このオプションでは、ライブラリ内のファイルを静的にリンク付けすることができません。
ライブラリの最適化とは、展開に先立ち、ライブラリからデバッグコードやその他のコードを削除することです。RSL として使用していない通常のライブラリについては、最適化の必要はありません。多くの場合、開発中はライブラリに対してデバッグを行うので、ライブラリ内のコードをデバッグする必要があります。Flex アプリケーションのリリースバージョンをコンパイルする際、コンパイラは、ライブラリからクラスをリンクするときにデバッグ情報を除外します。
運用環境で RSL として使用するためにライブラリをコンパイルする場合、debug コンパイラオプションを false に設定することができます。compc のデフォルト値は true です。この設定では、コンパイラは、SWC ファイルをデバッグ可能にするための情報を SWC ファイルにデフォルトで含めます。RSL ファイルができるだけ小さくなるように、運用環境で使用するライブラリはデバック可能にしないでください。ただし、debug オプションの値を false に設定すると、テスト目的で RSL をデバッグすることができなくなります。
デバック情報を含める場合は、コンパイル後に RSL を最適化すると、デバッグ情報と不要なメタデータを削除できます。詳細については、RSL SWF ファイルの最適化を参照してください。
RSL を展開する前に、ライブラリ SWC ファイル内の SWF ファイルを抽出し、展開します。SWF ファイルのデフォルト名は library.swf です。library.swf の名前は、SWC ファイルから抽出した後は、任意の名前に変更することができます。RSL を展開する際は、アプリケーションが実行時にロードできるように、SWF ファイルを展開します。
コマンドラインで、通常は directory オプションと output オプションを使用して、ライブラリのコンパイル結果を SWC ファイル形式ではなくオープンディレクトリとして出力するように指定します。出力は、次のファイルが含まれるオープンディレクトリです。
その他にも、ライブラリには、ライブラリで使用されるプロパティファイルと、イメージやその他の埋め込みアセットが含まれます。
出力をオープンディレクトリにするように指定しない場合、PKZip などの圧縮ユーティリティを使用して library.swf ファイルを SWC ファイルから手動で抽出する必要があります。
Flex Builder では、プロジェクトに RSL SWC ファイルを追加するときに SWF ファイルを自動的に抽出するよう、コンパイラに指示を与えることができます。これを行っても SWF ファイルは最適化されないため、自分で抽出して最適化する場合よりもライブラリは大きくなります。
Flex Builder で SWC ファイルから RSL SWF ファイルを手動で抽出する場合、Flex コンパイラダイアログボックスの「追加コンパイラ引数」フィールドに output オプションおよび directory オプションを追加します。どちらの場合でも、プロジェクトに RSL として SWC ファイルを追加するときに SWF ファイルの展開先の場所を指定します。
ライブラリを作成する場合、標準 RSL とクロスドメイン RSL のどちらの用途でライブラリを使用するのか知っておく必要があります。ライブラリをクロスドメイン RSL として使用する場合、ライブラリに要約情報を含める必要があります。詳細については、クロスドメイン RSL についてを参照してください。
ライブラリを作成したら、その SWC ファイルに対してアプリケーションをコンパイルし、実行時に使用するライブラリの SWF ファイルの場所を指定します。詳細については、標準 RSL またはクロスドメイン RSL を使用したアプリケーションのコンパイルを参照してください。
compc コンパイラのオプションの使用の詳細については、Flex コンパイラの使用を参照してください。
このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート