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

第14回Adobe AIRベータ3公開

Beta 3のインストール

去る12月13日、Adobe AIR Beta 3が公開されました。今回も前バージョンから多くの変更点があり、既存のAIRアプリケーションをBeta 3で動かすには修正が必要です。新バージョンに関する主なポイントを見ていきましょう。

例によって、AIRランタイムおよび開発ツールはAdobe Labsからダウンロードできます。Beta 3とBeta 2のランタイムは、Beta 2の利用期限である2008年6月1日まで共存が可能です。ただし、Beta 3のインストール後はBeta 2用のシームレスインストール(ウェブサイト上のインストールバッジと呼ばれるSWFからインストールプロセスを実行する仕組み)が利用できなくなります。また、Beta 3の後からBeta 2をインストールすると、それ以降AIRアプリケーションのインストールに問題が起こるので注意してください。なお、Beta 3でシームレスインストールを利用するには、Beta 3のSDKに含まれるソースでインストールバッジを作り直す必要があり、現時点で最新のFlash Player 9.0.115.0が必須動作環境となります。

Beta 3用に提供される開発ツールは以下の通りです。

Adobe AIR Update Beta 3 for Flash CS3 Professionalをインストールするには、事前にAdobe Flash Player Update for Flash CS3 Professional (9.0.2)がインストールされている必要があります。Adobe Flash Support Centerからダウンロードするか、Adobe Update Manager経由でインストールしておきましょう。また、Beta 3アップデータによって削除されない旧バージョンのファイルを削除しておくことが推奨されています。以下がその手順です。

[Macintosh]
  • ドライブ名:/Applications/Adobe Flash CS3/ 以下の AIK フォルダを削除
  • ドライブ名:/Applications/Adobe Flash CS3/First Run/Commands 以下に次のフォルダ/ファイルが存在すれば削除
    • AIR - Application and Package Settings.jsfl
    • AIR - Package AIR File.jsfl
  • ドライブ名:/Users//Library/Application Support/Adobe/Flash CS3/ja/Configuration/Commands/ 以下に次のフォルダ/ファイルが存在すれば削除
    • AIR - Application and Package Settings.jsfl
    • AIR - Package AIR File.jsfl
[Windows]
  • ドライブ名:\Program Files\Adobe\Adobe Flash CS3\ 以下の AIK フォルダを削除
  • ドライブ名:\Program Files\Adobe\Adobe Flash CS3\ja\First Run\Commands\ 以下に次のフォルダ/ファイルが存在すれば削除
    • AIR - Application and Package Settings.jsfl
    • AIR - Package AIR File.jsfl
  • ドライブ名:\Document and Settings\\Local Settings\Application Data\Adobe\Flash CS3\ja\Configuration\Commands\ 以下に次のフォルダ/ファイルが存在すれば削除
    • AIR - Application and Package Settings.jsfl
    • AIR - Package AIR File.jsfl

Beta 1のアンインストールを行わずにアップデータを上書きインストールした場合には、必ずクリーンアップスクリプトBeta 1 CleanUp Scriptを使って不要なファイルを削除しておきます。これを実行するには、JSFLファイルとして保存しFlashの[コマンド]→[コマンドの実行...]から選択します。

Flash CS3アップデータは今回からローカライズも進められている
Flash CS3アップデータは今回からローカライズも進められている

アプリケーション記述ファイルの変更点

では、既存のアプリケーションをBeta 3に対応させるためのポイントを追っていきましょう。まず、アプリケーション記述ファイルに以下の変更点があります。

  • <application>要素のxmlns属性の値が ⁠http://ns.adobe.com/air/application/1.0.M6⁠⁠ となった。
  • <application>要素のappId属性が<id>要素に変わった。
  • <application>要素のversion属性が<version>要素に変わった。
  • <name>要素が<filename>要素にリネームされた。
  • <title>要素が<name>要素にリネームされた。
  • <handleUpdates>要素が<customUpdateUI>にリネームされ、ブール値になった。
  • <fileType>要素に<icon>要素が追加された。
  • <application>要素に<allowBrowserInvocation>要素が追加された。

<fileType>要素に追加された<icon>要素によって、AIRアプリケーションに関連付けするファイルのアイコンを指定できるようになりました。指定方法はアプリケーションアイコンと同じです。また、<allowBrowserInvocation>要素はブラウザ上のSWFによるアプリケーションの起動を許可する場合に使用します。

以下は新しい書式のサンプルです。

<?xml version ="1.0" encoding="utf-8" ?>
<application xmlns="http://ns.adobe.com/air/application/1.0.M6">
  <id>jp.anthill.SampleApp</id>
  <version>1.0</version>
  <filename>SampleApp</filename>
  <description>A sample application</description>
  <name>SampleApp</name>
  <copyright>(c)2007 ants Inc.</copyright>
  <initialWindow>
    <content>SampleApp.swf</content>
    <systemChrome>standard</systemChrome>
    <transparent>false</transparent>
    <visible>true</visible>
  </initialWindow>
  <customUpdateUI>false</customUpdateUI>
  <allowBrowserInvocation>false</allowBrowserInvocation>
  <icon>
    <image16x16>icons/smallIcon.png</image16x16>
    <image32x32>icons/mediumIcon.jpg</image32x32>
    <image48x48>icons/bigIcon.gif</image48x48>
    <image128x128>icons/biggestIcon.png</image128x128>
  </icon>
  <fileType>
    <name>AIR.TextFile</name>
    <extension>aptxt</extension>
    <description>AIR Text File</description>
    <contentType>application/vnd.AIR.text-file</contentType>
    <icon>
      <image16x16>icons/Doc1/txt_16.png</image16x16>
      <image32x32>icons/Doc1/txt_32.png</image32x32>
      <image48x48>icons/Doc1/txt_48.png</image48x48>
      <image128x128>icons/Doc1/txt_128.png</image128x128>
    </icon>
  </fileType>
</application>

今回の更新で、DreamweaverやFlashの設定ダイアログにも新しい項目が追加されています。とりわけFlashでは、以前よりも柔軟にアプリケーション記述ファイルの設定ができるようになりました。

Flash CS3で設定できる項目が増えた
Flash CS3で設定できる項目が増えた

AIR APIの変更点

AIR APIも多くの点で変更されています。これまでの連載に関わる点など主なところを紹介しておきます。

  • File.applicationResourceDirectoryプロパティがFile.applicationDirectoryに変わりました。それに伴い、URIスキームの⁠app-resource:⁠⁠app:⁠に変更されています。
  • ドラッグ&ドロップAPIのクラス名、イベントプロパティ名が変わりました。
    • DragManager → NativeDragManager
    • DragOptions → NativeDragOptions
    • DragAction → NativeDragActions
    • NativeDragEvent.actionsAllowed:DragOptions → NativeDragEvent.allowedActions:NativeDragOptions
  • HTMLControlクラスがHTMLLoaderクラスに変わりました。プロパティやイベントの名称にも変更があります。以下はその一部です。
    • HTMLControl.htmlWidth → HTMLLoader.contentWidth
    • HTMLControl.htmlHeight → HTMLLoader.contentHeight
    • Event.DOM_INITIALIZE → Event.HTML_DOM_INITIALIZE
    • flash.events.HTMLUncaughtJavaScriptExceptionEvent → flash.events.HTMLUncaughtScriptExceptionEvent
  • flash.system.Shellクラスがflash.desktop.NativeApplicationクラスに変わりました。メソッド名やプロパティ名も見直されています。
  • ウィンドウAPIでは下記の定数、プロパティが削除されています。
    • NativeWindowSystemChrome.UTILITY
    • NativeWindowType.MODAL
    • NativeWindowInitOptions.hasMenu

ここに挙げたのはごく一部で、一覧はリリースノートで参照できます。変更や削除のほか、追加されたメソッドやプロパティなどもあります。

HTML内のFlashコンテンツが表示可能に

Beta 3からは、ようやくHTMLにエンベッドされたSWFファイルの再生がサポートされました。これにより、ブラウザとしての表示機能がより一般的なものに近づいています。ただし、既知の問題として以下の点がリストされています。

  • navigateToURL()メソッドで指定したHTMLページが新規に立ち上がらない。
  • Windowsでframesetやiframe内のSWFファイルが正しく表示されないことがある。
  • Macで設定画面を通したボリュームの調整やローカル記憶領域の変更ができない。
  • WMODEが設定されているとコンテンツが正しく表示されないことがある。
  • 右クリックでコンテキストメニューが表示されない。
Flashコンテンツを使ったHTMLページも表示される
Flashコンテンツを使ったHTMLページも表示される

おすすめ記事

記事・ニュース一覧