ApolloはAIRに
去る6月11日、ついにAdobe LabsにてApolloのBeta 1 リリースが公開されました。同時に正式名称が「Adobe Integrated Runtime(AIR)」に決まり、これまで親しんだコードネームApolloに取って代わりました。これに伴い、本連載タイトルも「Adobe AIRで作るデスクトップアプリケーション」に衣替えです。今回はベータ版で新しくなった点と変更に伴う注意点について解説します。
ベータ版の新機能
まずは、Beta 1 リリースで機能アップされた点を見てみましょう。
- ・データベース機能の追加
SQLiteが組み込まれたことでローカルにデータベースを持てるようになりました。例えば、アドレス帳のようなアプリケーションを作成する場合のデータ保存や、オンラインデータの一時キャッシュなど様々な用途に利用できます。
- ・PDFのサポート
PDFを読み込んで表示できるようになりました。PDFを利用するにはAIRランタイムの他にAdobe Reader 8.1がインストールされている必要があります。PDFはAdobe Readerのインターフェースを使って表示されます。
- ・ドラッグ&ドロップ/クリップボードのサポート
ドラッグ&ドロップやクリップボードを使って、OSや他のアプリケーションとのデータのやりとりが可能になりました。ビットマップやファイルリスト、テキスト、URLといった形式を扱うことができます。
- ・OSネイティブなファイルブラウザのサポート
OSネイティブなファイル選択/保存ダイアログをAIRアプリケーションから利用することができるようになりました。
- ・OSネイティブなメニューのサポート
OSネイティブなメニューをAIRアプリケーションからカスタマイズして利用できるようになりました。ただし、Beta 1リリースではMacのみのサポートとなります。
- ・ファイルタイプの関連付け
特定の拡張子とAIRアプリケーションを関連付けることができます。登録した拡張子のファイルをダブルクリックするとAIRアプリケーションが起動するといったことが可能になります。
上記の他にも、ウィンドウ関連やHTML関連の機能強化、セキュリティモデルの改善等、大小様々な変更がなされています。
ベータ版のインストール
Beta 1のインストールはAlpha 1の時と同じく、Adobe Labsからインストーラをダウンロードして起動するだけです。ただし、Beta 1のランタイムをインストールする前に、Alpha 1のランタイムをアンインストールしておく必要があります。アンインストール方法は次の通りです。
- ・Windows
- コントロールパネルから[プログラムの追加と削除]を開く
- リストからAdobe Apollo 1.0 Alpha 1を選択して[削除]をクリック
- ・Macintosh
- /Library/Frameworks/Adobe Apollo.frameworkディレクトリをゴミ箱に移動
- /Library/Receipts/Adobe Apollo.pkgファイルをゴミ箱に移動
- ゴミ箱を空に
また、Beta 1ではAlpha 1用のアプリケーションを使うことができません。それらも一緒にアンインストールしておきましょう。各アプリケーションのAIRファイルを起動して[More Options]から[Uninstall]を選択することでアンインストールできます。Windowsであればランタイムと同様に[プログラムの追加と削除]でも可能です。サンプルアプリケーションもBeta 1に合わせて更新/追加されているので必要に応じて最新版をインストールしましょう。
開発環境の変更点
AIRアプリケーションの開発環境についても色々な変更点があります。最も大きなものとしては、Flex Builder 2.0.1とApolloエクステンションがサポートされなくなりました。代わりにFlex Builder 3 Betaを使うことになります。Flex Builder 3にはApolloエクステンションの機能が統合されており、追加インストール無しでAIRの開発を行うことができます。Flex Builder 2.0.1とFlex Builder 3 Betaは併用できますが、Flex Builder 2.0.1からはApolloエクステンションをアンインストールしておく必要があります。アンインストールプログラムは、Adobe Flex Builder 2インストールフォルダの中に用意されています。
SDKにも変更があり、AIR用のコマンドラインツールはFlex 3 SDKに含まれることになりました。そのためSWFベースのデベロッパーはFlex 3 SDKのみでの開発が可能です。Apollo SDKと呼んでいたものはFlex関連のファイルを含まないAIR SDKとなり、主にHTMLベースのデベロッパー向けという位置付けになっています。
さらに今回はDreamweaver CS3用Adobe AIRエクステンションが開発ツールに加わりました。これまではHTMLベースのAIRアプリケーションを作るためにSDKを使う必要がありましたが、Dreamweaverから直接AIRファイルを作成することが可能です。
アルファ版からの移行ポイント
これまでの連載では、SDKおよびFlex Builderを使った開発の流れとアプリケーション記述ファイルについて触れてきました。開発の流れ自体はツールのバージョンアップ以外に大きな違いはありませんが、アプリケーション記述ファイルの仕様が変更されています。今までのファイルは使用できないので注意してください。具体的な変更箇所は次の通りです。
- xmlnsの値が"http://ns.adobe.com/air/application/1.0.M4"となった。
- <name>、<description>、<copyright>の各要素を残して<properties>要素が削除された。
- <publisher>要素が削除された。
- <title>要素が追加された。
- <installFolder>要素が追加された。
- <handleUpdates>要素が追加された。
- <fileTypes>要素が追加された。
追加された各要素はオプションなので必要に応じて記述すれば問題ありません。title要素はアプリケーションのインストーラで表示するタイトルをname要素とは別に指定する場合に記述します。installFolder要素は、アプリケーションのインストール先のサブディレクトリを指定する場合に記述します。handleUpdates要素は、アプリケーションのアップデートを自身でコントロールしたい場合に記述します。fileTypes要素は、アプリケーションに関連付けしたいファイルタイプがある場合に記述します。以下が新しいアプリケーション記述ファイルのサンプルです。
本連載ではまだ触れていない範囲ですが、アプリケーション記述ファイル以外では次のような修正ポイントがあります。既にコード内で使用している場合は更新が必要です。
- FlexのApolloApplicationコンポーネントがWindowedApplicationコンポーネントに変更された。
- File.currentDirectoryの代わりにInvokeEvent.currentDirectoryを使う仕様となった。
- File.appResourceDirectoryがFile.applicationResourceDirectoryに変更された。
- File.appStorageDirectoryがFile.applicationStorageDirectoryに変更された。
以上がベータ版での主な新機能と変更ポイントです。