とりあえずHello world

アプリ作成に必要なリソースは最低限2つ。

  • アプリケーション記述ファイル(application descriptor)
  • ルートアプリケーションファイル(html)

descriptorのほうはxmlファイルで、アプリケーションとして必要な情報が書かれている。SDKのtemplateディレクトリの下にテンプレートがあるが、必要最低限のものを書くとこんな感じ。

<?xml version="1.0" encoding="UTF-8"?>
	<application xmlns="http://ns.adobe.com/air/application/1.0">
		<id>jp.wakufactory.test.hw</id>
		<name>AIRHelloWorld</name>
		<version>1.0</version>
		<filename>hw</filename>
		<description>Simple Hello World Example using HTML</description>
		<copyright>wakufactory</copyright>
		<initialWindow>
		        <title>AIRHelloWorld Installer</title>
			<content>hw.html</content>
			<systemChrome>standard</systemChrome>
			<transparent>false</transparent>
			<visible>true</visible>
			<width>500</width>
			<height>500</height>
		</initialWindow>
</application>

ルートアプリケーションは、メインとなるhtml。hw.htmlという名前で作成。
hello worldはこんなの。javascriptは何もない。

<html>
<body>
 <h1>Hello World</h1>
</body>
</html>

このhw.xmlとhw.htmlの2つのファイルを作成し、実行してみる。
実行は、SDKのadlコマンドを使う。コマンドラインから、

>adl hw.xml

のようにすると、ウインドウが開きHello Worldが表示される。
これでAIRのランタイムを使ってhtmlが表示されたことになる。もちろん、htmlにjavascriptを組み込んで動かすこともできる。

インストールパッケージを作る

adlで動作確認できたところで、インストールパッケージを作ってみる。

パッケージ化には、電子署名が必要になる。本来ならば認証機関から発行してもらうのだが、ここではオレオレ署名でやる。

署名を作成するには、SDKのadtコマンド(中身はバッチ)を使う。

>adt -certificate -cn wakufactory -o wakufactory 1024-RSA wakufactory.pfx password

wakufactorとpasswordのところは適当に変えて。これでwakufactory.pfxという署名ファイルができる。以降パッケージ化にはこのファイルを使う


パッケージ化コマンドは、

>adt -package -storetype pkcs12 -keystore wakufactory.pfx -storepass password hw.air hw.xml hw.html

storepassでは、署名を作成したときのパスワードを指定する。
作成されるパッケージファイルはhw.air、その後にアプリケーション記述ファイルと、ルートアプリケーョシンファイルを指定して、その他に必要なファイルがあれば列挙する。

これで、hw.airというファイルが作成されれば、これが配布可能なインストールパッケージになる。

AIRのランタイムがインストールされていれば、hw.airをダブルクリックでインストールが始まる。認証機関による署名が無い、という警告が出るが無視してインストールする。


これで晴れて、独立したフツーのアプリケーションが作成できた。
簡単でしょ。

ドキュメントまとめ

javascriptAIRアプリを作るのに必要なドキュメント類をいろいろ探してみた。

これを一通り読めば、開発の最初から各種tipsまで分かるはず。

β版をベースにしているので、バージョン1.0とかなりいろいろ違うところがあるので注意。

AIRアプリのネイティブ機能を使うためのAPIリファレンス。ブラウザでのjavascript+DHTML以外の部分。

実は上のAIRアプリAPIは、Flex3APIそのものなので、こちらのリファレンスも参考になる。

用意するもの

javascript+HTMLでAIRアプリケーションを作るのに必要なものは、これだけ。

SDKJREも必要なので無い環境は入れる必要がある。もろちんテキストエディタじゃなくて、htmlエディタも使える。私は、cygwinでvi。

ランタイムは普通にインストール。SDKはzipを解凍して適当なディレクトリに(pathとか通すのであまり深いところじゃないほうがいい)。

SDKのbinディレクトリは、実行パス(システム環境変数Path)を通しておく。

以上で準備は完了。