
Adobe® AIR™(Adobe Integrated Runtime)は、デスクトップ上でリッチ・インターネット・アプリケーション(RIA)を実行可能するクロスオペレーティングシステムのランタイムです。Adobe AIRは、Flash/Flex/HTML/JavaScript/Ajaxなどの技術をサポートしており、Web開発の技術を活かしてAdobe AIR用のアプリケーションを開発することができます。この記事では、HTMLベースのAIRアプリケーション開発環境のセットアップとして、以下の項目を解説します。
それぞれの解説に入る前に、Adobe AIRをインストールしておきましょう。
以下の手順でAdobe AIRのランタイムをインストールします。
Adobe Labs内にはAIRアプリケーションのショーケースがあります。インストールしたAdobe AIRの動作確認を行う際に利用してください。
DreamweaverのAIR拡張機能を使えば、Dreamweaverで作成したWebページをAIR用デスクトップアプリケーションへと変換することができます。ただし、Adobe AIRは、ColdFusionやPHPによるダイナミックページをサポートしていません。しかし、AjaxやAdobe AIR APIsを介して、ColdFusionやPHPで開発されたオンライン上のサービスと連携させることは可能です。
インストールに成功したら、Dreamweaverのサイトメニューに「AIR Application and Installer Settings」項目が追加されます。「AIR Application and Installer Settings」ダイアログボックスでは、Dreamweaverで作成したWebページをAIRアプリケーションに変換する際の各種設定を行い、「Create AIR File」ボタンで変換します(図1)。

図1.「AIR Application and Installer Settings」ダイアログボックス
ノート:DreamweaverのAIR拡張機能を使ってAIRアプリケーションを作成する場合、変換するWebサイトのルートフォルダに「application.xml」ファイルを作成します。このxmlファイルは、アプリケーションのさまざまなプロパティの定義内容を記したマニフェストのようなものです。
「AIR Application and Installer Settings」ダイアログボックスの設定項目とその内容
| 項目 | 内容 | 必須項目 |
|---|---|---|
| Application File Name | アプリケーションの実行ファイルのファイル名。初期状態では、Dreamweaverでのサイト名が表示されますが、自由に変更できます。ただし、使用できる文字はASCIIキャラクターのみで、ファイル名の最後にピリオドを使用することはできません。 | Yes |
| Application Name | ユーザーがアプリケーションをインストールする際に、インストールウィンドウに表示される名前。初期状態では、Dreamweaverでのサイト名が表示されますが、自由に変更できます。なお、文字の使用に制限はありません。 | |
| Application ID | 作成したアプリケーションに割り振る固有のID。初期状態では、Dreamweaverが自動でIDを割り振りますが、自由に変更できます。IDに使用できる文字は、英数字と「ドット(.)」、「ダッシュ(-)」です。 | Yes |
| Version | 作成したアプリケーションのバージョン。 | Yes |
| Root Content | アプリケーションのスタートページを指定。「Browse」ボタンをクリックして、スタートページを選択します。スタートページは、必ずルートフォルダ内に置く必要があります。 | Yes |
| Description | ユーザーがアプリケーションをインストールする際に、インストールウィンドウに表示されるアプリケーションの解説。 | |
| Copyright | ユーザーがアプリケーションをインストールする際に、インストールウィンドウに表示されるコピーライト表記。 | |
| Window Style | アプリケーション実行時のウィンドウスタイル。「System chrome」は、OSの標準ウィンドウスタイル。「Custom chrome (opaque) 」は、制作者オリジナルのスタイル(オリジナルスタイルは、パッケージ化するHTMLページ内で定義します)。「Custom chrome (transparent)」は、オリジナルスタイルのエッジを透明化したもの。 | |
| Window Size | アプリケーションを開いた時のウィンドウサイズ | |
| Icon | アプリケーションのアイコンに使用する画像を選択(初期状態では、Adobe AIRのロゴが使用されます)。「Select Icon Images」ボタンをクリックすると、「Icon Images」ダイアログボックスが開き、各サイズで使用する画像を指定します。このアイコンに使用できる画像の形式はPNGのみです。また、画像ファイルは、アプリケーションのフォルダ内に置く必要があります。 | |
| Included Files | アプリケーションに含めるファイルやフォルダの選択。追加できるのは、HTMLファイル、CSSファイル、画像ファイル、JavaScriptファイルです。「_mmServerScripts」や「 _notes」といったフォルダを追加しないでください。 | |
| Digital Signature | デジタル署名の追加。詳細は、以下のセクションを参考にしてください。 | Yes |
| Program Menu Folder | アプリケーションへのショートカットを、Windowsのスタートメニューのどのサブディレクトリに作成するかを指定(Macintoshでは適用されません)。 | |
| Destination | 作成したAIRアプリケーションの保存先を指定。初期状態では、Webサイトのルートとなっており、「Browse」ボタンをクリックして任意の場所を指定することができます。 | Yes |
Digital Signature(デジタル署名)は、アプリケーションの作成後にコードの変更が行われていないことや、コードが破損していないことを保証するためのものです。AIRアプリケーションを配布し、他のユーザーが利用できるようにするには、必ずこのデジタル署名が必要となります。このデジタル署名には、商業の証明書だけでなく、アプリケーション制作者自身が発行する自己証明書を使用することができます。なお、後でデジタル署名を追加するという前提で一時的に署名なしでアプリケーションファイルを作成することもできます。以下の手順でデジタル署名を設定します。

図2.「Digital Signature」ダイアログボックス

図3.「Self-Signed Digital Certificate」ダイアログボックス
AIR拡張機能をインストールすると、DreamweaverのコードビューにAIRスクリプトのコードヒントとカラーリング機能が追加されます。ただし、この機能が有効なのは、<script>タグ内とJavaScriptファイル内のみです。
ここからは、DreamweaverでAIR拡張機能を使って、HTMLベースのAIRアプリケーションを作成する手順を紹介します。作成するのは、「Hello World」と表示するだけの至極単純なアプリケーションです。読み進める前に、Adobe AIRランタイムとDreamweaver用AIR拡張機能をインストールしていることを確認しておきましょう。
AIRアプリケーションには、必ずスタートページが必要です。ここでは、「Hello World!」と表示させるとてもシンプルなスタートページを作成します。このスタートページとアプリケーションに使用する他のページはすべてDreamweaverのサイトとして定義しておく必要があります。

図4:新しいHTMLファイルに「Hello World! 」と記述します

図5:hello_world.htmlファイルが新規に作成したサイト内に定義されているか確認してください
図6:設定後の「AIR Application and Installer Settings」ダイアログボックス
AIRアプリケーションファイルを作成したところで、デスクトップアプリケーションとして実行してみましょう。
AIR SDKには、アプリケーションデータをAIRアプリケーションファイルへとパッケージするために必要なコマンドラインツールが含まれています。
AIR Debug Launcher(ADL): インストールせずにアプリケーションを実行するツール
AIR Development Tool(ADT):AIRアプリケーションを配布可能なインストールパッケージとしてパッケージングするツール
これらのツールを利用するにはJavaが必要です。Java JREかJava JDKを使用します。
<Windowsの場合>
<Macintoshの場合>
<AIR SDKに含まれているもの>
AIR SDKには以下のファイルが含まれています。ファイル名はWindowsでの表記です。
AIR SDK内の主なファイル
| フォルダ名 | ファイル名 | 機能や役割 |
|---|---|---|
| BIN | adl.exe | AIR Debug Launcher(ADL)。 インストールせずにアプリケーションを実行するツール。 |
| adt.bat | AIR Development Tool(ADT)。AIRアプリケーションを配布可能なインストールパッケージとしてパッケージングするツール。 | |
| FRAMEWORKS | AIRAliases.js | ActionScriptランタイム・クラスにアクセスするためのエイリアス定義。 |
| servicemonitor.swf | AIRアプリケーションに対して、特定のホストへのネットワーク接続における変化を検知する手段を提供する。 | |
| LIB | adt.jar | adt.batファイルによって呼び出される、adt実行可能なファイル。 |
| application.xsd | アプリケーションスキーマファイル。 | |
| RUNTIME | The AIR runtime | ADLが使用するランタイム。 |
| SAMPLES | インストールボタンやAIRアプリケーションのアイコンを格納しているフォルダ。 | |
| SRC | SAMPLESフォルダにあるインストールボタンなどの元ファイルを格納しているフォルダ。 | |
| TEMPLATES | application.xml | AIRアプリケーションごとに必要となる記述ファイル(descriptor file)のテンプレート。 |
AIR SDKを使ってHTMLベースのAIRアプリケーションを作成する場合、必ず2つのファイルを用意しなければなりません。1つは、アプリケーションのメタデータを記述したアプリケーション記述ファイル。もう1つは、トップレベルHTMLファイルです。なお、ここで作成する「Hello World! 」サンプルアプリケーションでは、JavaScriptを使って外部テキストファイルに記述したHTMLソースをトップレベルHTMLファイルに読み込むようにしています。また、AIR APIクラスのエイリアスを定義しているAIRAliases.jsファイルも使用します。
<application>
<name>...</name>
<initialWindow>
<content>...</content>
<visible>...</visible>
</initialWindow>
</application>
<?xml version="1.0" encoding="UTF-8"?>
<application xmlns="http://ns.adobe.com/air/application/1.0.M5" appId="samples.HelloWeb" version="0.1">
<name>Hello AIR!</name>
<initialWindow>
<content>HelloAIR.html</content>
<visible>true</visible>
</initialWindow>
</application>
ここで作成するトップレベルHTMLには、基本的なHTMLコードとJavaScriptコードを記述します。
<html>
<head>
<title>Hello AIR!</title>
</head>
<body onLoad="appLoad();">
<h1>AIR</h1>
<div id="replace">
<p>Placeholder</p>
</div>
</body>
</html>
<script src="AIRAliases.js" type="text/javascript"></script>
<script type="text/javascript">
function appLoad(){
air.trace("Hello AIR.");
xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET", "request.txt",true);
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4) {
document.getElementById('replace').innerHTML = xmlhttp.responseText;
}
}
xmlhttp.send(null)
}
</script>
var myFile = new runtime.flash.filesystem.File();
var myFile = new air.File();
<html>
<head>
<title>Hello AIR!</title>
<script src="AIRAliases.js" type="text/javascript"></script>
<script type="text/javascript">
function appLoad(){
if(window.runtime){
air.trace("Hello AIR.");
}
xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET", "request.txt",true);
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4) {
document.getElementById('replace').innerHTML = xmlhttp.responseText;
}
}
xmlhttp.send(null)
}
</script>
</head>
<body onLoad="appLoad();">
<hi>AIR</h1>
<div id="replace">
<p>Placeholder</p>
</div>
</body>
</html>
JavaScriptで読み込む外部テキストファイルを作成します。
Hello AIR!
ADLを使用してアプリケーションのテストを行います。コマンドコンソールを開いて、このアプリケーションのディレクトリに移動し、以下のコマンドを実行します。
adl HelloAIR-app.xml
AIRアプリケーションのウィンドウが開き、コマンドコンソールには「air.trace()」のメッセージが表示されます。
アプリケーションの実行が成功したら、次はADTを使ってアプリケーションファイルをAIRインストールファイルへとパッケージします。AIRインストールファイルには、アプリケーションに必要なすべてのファイルが含まれています。なお、配布する前にはデジタル署名を行う必要があります。デジタル署名には、ADTや他の証明書ツールを使って作成した自己証明書や、VeriSignやThawteが発行する証明書を利用することができます。自己証明書を利用した場合は、アプリケーションのインストール時の「publisher」項目には、「unverified」と表示されます。自己証明書は、「AIRアプリケーションのコードが制作時から変更されていない」ということを証明するだけで、そのアプリケーションに悪意あるコードが含まれていないことを保証するものではありません。開発用には自己証明書でも構いませんが、一般に配布する際は検証された商業の証明書を利用することを強くおすすめします。
ADTで自己証明書を作成する際は、ランダムなキーが生成されます。同じキーが同時に生成されることはありません。なお、一度ADTでデジタル署名したアプリケーションを更新する際は、同じ証明書で署名しなければなりません。
ノート:AIRのベータ版では証明書をしませんが、正式版では証明書を使用します。ベータ版でAIRアプリケーションを配布する場合は、商業の証明書で署名してください。そうすれば、AIR 1.0のリリースに伴い、AIRアプリケーションの正式版を公開する際、ユーザーはアップデートしやすくなります。
自己証明書の発行するには、コマンドコンソールを開いて、以下のコマンドを実行します。
adt –certificate -cn SelfSigned 1024-RSA sampleCert.pfx samplePassword
上記のコマンドは、証明書を発行する上で最低限必要な内容です。イタリック文字の部分はユーザー自身が任意で設定します。また、キータイプの部分は「1024-RSA」か「2048-RSA」でなければなりません。
AIRインストールファイルの作成するには、コマンドコンソールを開いて、以下のコマンドを実行します(1行で記述してください)。
adt –package -certificate sampleCert.pfx -password samplePassword HelloAIR.air HelloAIR-app.xml HelloAIR.html AIRAliases.js request.txt
HelloAIR.airは、ADTが生成するAIRアプリケーションファイルです。HelloAIR-app.xmlは、アプリケーション記述ファイルです。その後に続くファイル名は、アプリケーションに含まれるファイルです。この例では2つのファイルしかありませんが、アプリケーションに必要なファイルやフォルダの数だけ列記します。
AIRアプリケーションファイルの作成後は、ファイルをダブルクリックしたり、コマンドコンソールでコマンドを実行したりしてアプリケーションを実行します。
本記事で解説したのは、HTMLベースのAIRアプリケーション開発環境のセットアップ方法と、基本的な制作手順です。より詳しい情報、最新情報については下記のリソースを参照してください。