Adobe AIRで作るデスクトップアプリケーション

第10回 Adobe AIR ベータ2公開

この記事を読むのに必要な時間:およそ 3.5 分

AIR APIの変更点

AIR APIも下記のように更新されています。比較的メジャーな部分の変更もありますので,既存のコードで該当する箇所があれば対応しておきましょう。

  • ByteArray.inflate()とByteArray.deflate()の両メソッドが無くなり,代わりにByteArray.compress()とByteArray.uncompress()メソッドで引数を指定する形式になりました。引数にはCompressionAlgorithm.DEFLATEまたはCompressionAlgorithm.ZLIBを渡します。
  • TransferableDataクラスとClipboardManagerクラスが無くなり,代わりにClipboardクラスを使うことになりました。クリップボードの読み書きを行う際は,ClipboardManager.accessClipboard()ではなくClipboard.generalClipboardというシングルトンオブジェクトを使います。
  • DragManager.isDraggingはメソッドからプロパティに変更になりました。
  • Doorクラスが無くなり,LoaderInfoクラスのDoor関連APIの名前が変更されました。
    • LoaderInfo.parentDoor → LoaderInfo.parentSandboxBridge
    • LoaderInfo.childDoor → LoaderInfo.childSandboxBridge
  • File APIのメソッド名がいくつか変更されました。
    • File.listDirectories() → File.getDirectoryListing()
    • File.listDirectoriesAsync() → File.getDirectoryListingAsync()
    • File.listRootDirectories() → File.getRootDirectories()
    • File.relativize() → File.getRelativePath()
    • File.resolve() → File.resolvePath()
  • NativeWindowコンストラクタのvisibleパラメータが無くなりました。NativeWindowオブジェクトを生成してからvisibleプロパティを設定することになります。
  • NativeWindowCapabiltiesクラスが無くなり,各プロパティはNativeWindowクラスに移動しました。
    • NativeWindowCapabilities.hasWindowIcon → NativeWindow.supportsIcon
    • NativeWindowCapabilities.hasMenu → NativeWindow.supportsMenu
    • NativeWindowCapabilities.windowMinSize → NativeWindow.systemMinSize
    • NativeWindowCapabilities.windowMaxSize → NativeWindow.systemMaxSize
  • Stage.windowプロパティはStage.nativeWindowプロパティに変更されました。
  • System.pause(),System.resume(),System.gc()の各メソッドは,デバッグモードでのみ有効になりました。ADLでの動作確認中はデバッグモードになります(-nodebugオプションを指定しない場合⁠⁠。
  • System.exit()メソッドはAIRでは使えなくなりました。代わりにShell.exit()メソッドを使います。
  • Beta 1までは相対URLはapp-resource:/ディレクトリを基準としていましたが,Beta 2からはSWF/HTMLコンテンツが基準となります。

Flex Builderでの変更点

Flex Builderでは新規メニューからAIRプロジェクトが無くなり,Flexプロジェクトのオプションという扱いになりました。新規にAIRアプリケーションを開発する際は,[File]メニューの[New]から[Flex Project]を選択し,続いて現れるダイアログの[Application type]で[Desktop application]を選択します。

新規に作成する場合はFlexプロジェクトを選択

新規に作成する場合はFlexプロジェクトを選択

[Application type]で[Desktop application]を選択

[Application type]で[Desktop application]を選択

また,AIRファイルの書き出しは[Project]メニューの[Export Release Version...]から行うようになっています。

書き出しは[Export Release Version...]から

書き出しは[Export Release Version...]から

デジタル署名

これまで未実装だったデジタル署名もBeta 2で実装されています。デベロッパーはAIRファイルをパッケージングする際に署名を付ける必要があります。Flex Builderの場合は書き出しウィザードの途中で,Flashの場合はAIRの設定画面内でデジタル署名を付加します。署名を付けることで,ユーザの手元のAIRファイルに改ざんが無いことを証明できます。

FlashではAIRの設定画面からデジタル署名を設定する

FlashではAIRの設定画面からデジタル署名を設定する

また,署名にはVerisignまたはThawteの発行した証明書が使えるので,AIRファイル作成者の本人確認が可能です。そうした証明書がなければ自己署名の証明書を作成して使います。この場合は誰でも署名ができますが,本人確認ができないためユーザに対しては出所が不明なアプリケーションということになります。

証明書を選択するダイアログ。自己署名の証明書は[Create...]から作成できる(Flex Builderでも同様)

証明書を選択するダイアログ。自己署名の証明書は[Create...]から作成できる(Flex Builderでも同様)

アプリケーションの開発と署名を別のマシンで行うといった場合は,署名を後で追加することもできます。その場合はAIRI(AIR Intermediate)という中間ファイルを書き出しておき,ADTで署名を追加します。

以上がBeta 2で大きく変わった点です。他にも細かい変更はありますが,上記のポイントを踏まえておけばスムーズに移行できるでしょう。

著者プロフィール

タナカヤスヒロ

早稲田大学卒業後,DTP業務を経てマルチメディア系制作会社へ。Macromedia Directorにのめり込む。フリーランスとなりFlashにシフトしてからもデスクトップ絡みの仕事が絶えず,Apolloにも勝手に縁を感じている。現在株式会社antsに所属。ants Lab.にも記事を上げている。

URLhttp://labs.anthill.jp/

著書