Flex SDK を使用した初めてのデスクトップ AIR アプリケーションの作成

Adobe® AIR® の機能を簡潔かつ実践的に説明するため、以下の手順に従って Flex SDK を使用し、SWF ベースの単純な AIR アプリケーション「Hello World」を作成します。このチュートリアルでは、Flex SDK に付属するコマンドラインツールを使用して AIR アプリケーションをコンパイル、テスト、およびパッケージ化する方法を説明します(Flex SDK には AIR SDK が含まれます)。

作業を開始するには、ランタイムをインストールし、Adobe® Flex™ を設定しておく必要があります。このチュートリアルでは、 AMXMLC コンパイラー、 AIR Debug Launcher (ADL)および AIR 開発ツール (ADT)を使用します。これらのプログラムは、Flex SDK の bin ディレクトリにあります( Flex SDK の設定 を参照してください)。

AIR アプリケーション記述ファイルの作成

この節では、次の構造を持つ XML ファイルであるアプリケーション記述子の作成方法について説明します。

<application xmlns="..."> 
    <id>...</id> 
    <versionNumber>...</versionNumber> 
    <filename>…</filename> 
    <initialWindow> 
        <content>…</content> 
        <visible>…</visible> 
        <width>…</width> 
        <height>…</height> 
    </initialWindow> 
</application>
  1. HelloWorld-app.xml という名前の XML ファイルを作成し、プロジェクトディレクトリに保存します。

  2. 次の AIR 名前空間属性を含め、 <application> エレメントを追加します。

    <application xmlns="http://ns.adobe.com/air/application/2.7"> 名前空間の最後のセグメントである「2.7」は、アプリケーションに必要なランタイムのバージョンを指定します。

  3. <id> エレメントを追加します。

    <id>samples.flex.HelloWorld</id> アプリケーション ID は(アプリケーションパッケージに署名するために使用された証明書から AIR が派生させる)発行者 ID と共にアプリケーションを一意に識別します。推奨される形式は、「 com.company.AppName 」などのピリオド区切りの逆 DNS スタイルのストリングです。アプリケーション ID は、インストール、プライベートなアプリケーションファイルシステムストレージディレクトリへのアクセス、プライベートな暗号化ストレージへのアクセスおよびアプリケーション間の通信に使用されます。

  4. <versionNumber> エレメントを追加します。

    <versionNumber>1.0</versionNumber> インストールしているアプリケーションのバージョンをユーザーが確認できるようにします。

    注意: AIR 2 以前を使用している場合は、 <versionNumber> エレメントではなく <version> エレメントを使用する必要があります。
  5. <filename> エレメントを追加します。

    <filename>HelloWorld</filename> アプリケーション実行可能ファイル、インストールディレクトリに使用される名前であり、オペレーティングシステム内の参照に対しても同様です。

  6. 次の子エレメントを含む <initialWindow> エレメントを追加して、初期アプリケーションウィンドウのプロパティを指定します。

    <content>HelloWorld.swf</content> 読み込む対象となる AIR のルート SWF ファイルを識別します。

    <visible>true</visible> ウィンドウがすばやく表示されるようにします。

    <width>400</width> ウィンドウの幅(ピクセル単位)を設定します。

    <height>200</height> ウィンドウの高さを設定します。

  7. ファイルを保存します。完全なアプリケーション記述ファイルは、次のとおりです。

    <?xml version="1.0" encoding="UTF-8"?> 
    <application xmlns="http://ns.adobe.com/air/application/2.7"> 
        <id>samples.flex.HelloWorld</id> 
        <versionNumber>0.1</versionNumber> 
        <filename>HelloWorld</filename> 
        <initialWindow> 
            <content>HelloWorld.swf</content> 
            <visible>true</visible> 
            <width>400</width> 
            <height>200</height> 
        </initialWindow> 
    </application>

この例では、設定可能なアプリケーションプロパティのうち、一部のみが設定されます。ウィンドウクロム、ウィンドウサイズ、透明度、デフォルトのインストールディレクトリ、関連付けられているファイルの種類およびアプリケーションアイコンなどを指定できるようにする、アプリケーションプロパティの完全なセットについては、 AIR アプリケーション記述ファイル を参照してください。

アプリケーションコードの記述

注意: SWF ベースの AIR アプリケーションは、MXML または Adobe® ActionScript® 3.0 で定義されたメインクラスを使用できます。この例では、MXML ファイルを使用してメインクラスを定義します。メインの ActionScript クラスを使用して AIR アプリケーションを作成するプロセスは、これに似ています。MXML ファイルを SWF ファイルにコンパイルするのではなく、ActionScript クラスファイルをコンパイルします。ActionScript を使用している場合は、メインクラスは、flash.display.Sprite を拡張する必要があります。

すべての Flex ベースのアプリケーションと同様に、Flex フレームワークを使用して構築された AIR アプリケーションには、メイン MXML ファイルが含まれます。デスクトップ AIR アプリケーションは、ルートエレメントとして、Application コンポーネントの代わりに WindowedApplication コンポーネントを使用します。WindowedApplication コンポーネントは、アプリケーションとその初期ウィンドウを制御するためのプロパティ、メソッドおよびイベントを提供します。AIR が複数ウィンドウをサポートしないプラットフォームおよびプロファイルの場合、継続して Application コンポーネントを使用できます。モバイル Flex アプリケーションでは、View コンポーネントまたは TabbedViewNavigatorApplication コンポーネントも使用できます。

次の手順に従って、Hello World アプリケーションを作成します。

  1. テキストエディターを使用して、 HelloWorld.mxml という名前のファイルを作成し、次の MXML コードを追加します。

    <?xml version="1.0" encoding="utf-8"?> 
    <s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" 
                           xmlns:s="library://ns.adobe.com/flex/spark" 
                           xmlns:mx="library://ns.adobe.com/flex/mx" 
                           title="Hello World"> 
    </s:WindowedApplication>
  2. 次に、アプリケーションに Label コンポーネントを追加(WindowedApplication タグ内に記述)します。

  3. Label コンポーネントの text プロパティを "Hello AIR" に設定します。

  4. 中央に配置されるようにレイアウト制約を設定します。

    次の例は、これまでに説明したコードを示します。

    <?xml version="1.0" encoding="utf-8"?> 
    <s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" 
                           xmlns:s="library://ns.adobe.com/flex/spark" 
                           xmlns:mx="library://ns.adobe.com/flex/mx" 
                           title="Hello World"> 
         
        <s:Label text="Hello AIR" horizontalCenter="0" verticalCenter="0"/> 
    </s:WindowedApplication>

アプリケーションのコンパイル

アプリケーションを実行およびデバッグする前に、amxmlc コンパイラーを使用して MXML コードを SWF ファイルにコンパイルします。amxmlc コンパイラーは、Flex SDK の bin ディレクトリにあります。必要に応じて、コンピューターの PATH 環境変数を設定して Flex SDK の bin ディレクトリを追加します。PATH 変数を設定すれば、コマンドラインでユーティリティを簡単に実行できます。

  1. コマンドシェルまたは端末を開き、AIR アプリケーションのプロジェクトフォルダーに移動します。

  2. 次のコマンドを入力します。

    amxmlc HelloWorld.mxml 

amxmlc を実行することにより、 HelloWorld.swf が作成されます。これには、コンパイルされたアプリケーションのコードが格納されています。

注意: アプリケーションがコンパイルされない場合、シンタックスエラーまたはスペルミスを修正します。エラーと警告は、amxmlc コンパイラーの実行に使用するコンソールウィンドウに表示されます。

詳しくは、 AIR 用 MXML および ActionScript ソースファイルのコンパイル を参照してください。

アプリケーションのテスト

コマンドラインからアプリケーションの実行とテストを行うには、AIR Debug Launcher(ADL)を使用し、アプリケーション記述ファイルを使用してアプリケーションを起動します(ADL は、Flex SDK の bin ディレクトリにあります)。

コマンドプロンプトから、次のコマンドを入力します。
adl HelloWorld-app.xml 

次の図のような AIR アプリケーションが起動されます。

Label コントロールの horizontalCenter プロパティと verticalCenter プロパティが使用され、テキストがウィンドウ中央に配置されます。一般のデスクトップアプリケーションと同様に、ウィンドウを移動したりサイズを変更したりします。

詳しくは、 AIR Debug Launcher(ADL) を参照してください。

AIR インストールファイルの作成

アプリケーションが正常に実行されたら、ADT ユーティリティを使用して、アプリケーションを AIR インストールファイルにパッケージ化できます。AIR インストールファイルは、ユーザーに配布できるアプリケーションファイルを格納するアーカイブファイルです。パッケージ化された AIR ファイルをインストールする前に Adobe AIR をインストールする必要があります。

アプリケーションのセキュリティを確保するには、すべての AIR インストールファイルに電子署名する必要があります。開発のために、ADT または別の証明書生成ツールを使用して基本的な自己署名入り証明書を生成できます。民間の認証機関から市販のコードサイニング証明書を購入することもできます。ユーザーが自己署名入り AIR ファイルをインストールした場合、インストールプロセスの間、発行者は「不明」として表示されます。これは、自己署名入り証明書は AIR ファイルが作成されてから変更されていないことだけを保証するからです。なりすましの AIR ファイルの自己署名や、それをアプリケーションとして提示することを防ぐことはできません。AIR ファイルを一般にリリースする場合は、検証可能な商用証明書を強くお勧めします。AIR のセキュリティに関する問題の概要については、 AIR のセキュリティ (ActionScript 開発者用)または AIR のセキュリティ (HTML 開発者用)を参照してください。

自己署名入り証明書とキーのペアの生成

コマンドプロンプトから、次のコマンドを入力します(ADT 実行可能ファイルは、Flex SDK の bin ディレクトリにあります)。
adt -certificate -cn SelfSigned 1024-RSA sampleCert.pfx samplePassword

この例では、証明書に対して設定できる最小限の数の属性を使用しています。キーのタイプは、「 1024-RSA 」または「 2048-RSA 」にする必要があります( AIR アプリケーションへの署名 を参照してください)。

AIR パッケージの作成

コマンドプロンプトから、次のコマンドを入力します(1 行に入力)。
adt -package -storetype pkcs12 -keystore sampleCert.pfx HelloWorld.air 
HelloWorld-app.xml HelloWorld.swf

キーストアファイルパスワードを求めるプロンプトが表示されます。パスワードを入力し、Enter キーを押します。セキュリティを確保するために、パスワードの実際の文字は表示されません。

HelloWorld.air 引数は、ADT によって作成される AIR ファイルです。HelloWorld-app.xml はアプリケーション記述ファイルです。後続の引数は、アプリケーションによって使用されるファイルです。この例では、これらの 3 つのファイルだけが使用されますが、任意の数のファイルとディレクトリを含めることができます。

AIR パッケージが作成された後に、パッケージファイルをダブルクリックすることによって、アプリケーションをインストールおよび実行できます。シェルウィンドウまたはコマンドウィンドウで、コマンドとして AIR ファイル名を入力することもできます。

詳しくは、 デスクトップ AIR インストールファイルのパッケージ化 を参照してください。