アドビシステムズは2008年2月25日に,RIA(リッチ・インターネット・アプリケーション)構築ツール「Flex 3」とともに,アプリケーション実行環境「AIR」の正式版(AIR 1.0)をリリースしました。AIRについてはベータ版のときから話題になっていることもあり,名前は聞いたことがある,という人は多いと思います。ただ,その“正体”を理解している人はさほど多くないのではないでしょうか。この記事では「Adobe AIR って何?」という人に向けて,AIRの基本的な仕組みや使い方について解説します。

デスクトップでFlashやHTML/Ajaxアプリを実行できる

 AIR は Adobe Integrated Runtime の略とされています。これを日本語に訳すと「アドビ統合実行環境」となります。ここで注意していただきたいのは,AIR 自体はアプリケーションではないということです。文字通り,実行環境,すなわち,アプリケーションを実行するための基盤となるソフトという位置づけになります。

 AIR 1.0 における開発コンセプト(テーマ)は,「Webアプリケーションをデスクトップへ」です。つまり,AIR はデスクトップ・アプリケーションを実行するための環境なのです。

 アプリケーションの実行基盤という観点からするとAIRは,アドビが提供するFlashPlayer と非常に似ています。ここで疑問に思う人がいるかもしれません。FlashPlayer 自体,実はブラウザ・プラグイン版だけでなく,スタンドアロン版があり,ローカルコンピュータで実行することもできます。では,AIRは,FlashPlayer とは何が違うのでしょうか?

 結論から言いますと,FlashPlayer を拡張した実行環境が AIR ということになります。AIR には FlashPlayer が内包されており,今までWebアプリケーションとしてブラウザの中で実行していた Flash アプリケーション(SWF ファイル)が,AIR 上,すなわち,デスクトップ上で実行できるようになるわけです。

 AIRは,ブラウザのようにHTMLを解釈し表示するためのHTMLレンダリング・エンジンも搭載しています(図1)。したがって,Flash アプリケーションだけでなく HTML/Ajax アプリケーションも実行できるのです。

図1●AIR のイメージ図。ブラウザやOSの垣根を超え,開発者に“自由”を与える環境だ
図1●AIR のイメージ図。ブラウザやOSの垣根を超え,開発者に“自由”を与える環境だ

 例えば,AIR上で動作するデジタル写真アルバムのアプリケーションを作成する場合を考えます。従来なら

(1)OS に依存した開発ツールで作成する
(2)インターネット上にWebアプリケーションを構築する

などの方法があるでしょう。しかし,これらにはそれぞれ問題点があります。

 まず,(1)では,ユーザーが利用するOSが制限されてしまいますし,開発者は OS 固有の開発言語を覚える必要があります。一方,(2)ではこうした問題はありませんが,ユーザーはインターネットにアクセスする必要があります。開発者はサーバーサイドについてディスク容量,同時アクセスなどのスケーラビリティも考える必要あります。個人情報を扱うのならセキュリティにも気を使わなくてはなりません。

 AIR ならどうでしょう? (1)の問題点については,開発者がActionScript3,あるいは JavaScript を使って,Windows,Macintosh,Linux の三つのOS上で動作するアプリケーションを作成できることでクリアしています。

 さらに,(2)のWebアプリケーションと異なり,ネットワークにアクセスすることなく,デスクトップのAIRアプリケーションだけで操作を完結させることも可能です。これはユーザーにとっても好都合ですし,開発側もサーバーサイドが不要なので低コストで済みます。

 Webアプリケーションとの違いは,ユーザー・インタフェース周りにもあります。AIR上で動作するデジタル写真アルバムのアプリケーションであれば,ローカルな環境の写真をドラッグ&ドロップすることで追加・登録するといったことが可能になります。登録する写真にユーザーが入力したタグ情報を追加してデータベース化すれば,高機能でパフォーマンスに優れた検索も実現できます。さらに,写真を表示する時は OS 固有のウィンドウ枠にとらわれることなく開発者が創造した“枠の無い自由な方法”で写真を表示させられます。