ホーム >> 左脳Script >> Adobe AIR >> Adobe AIR 2.0

Adobe AIR 2.0


AIRが 2.0 になりました。長らくのβ期間を終えたようです。Release Candidate ですけれどネ。

Flash Develop も、何時の間にやら RTM 3.2.1 となっております。開発環境を一新しましょう。

AIR SDK 単体での使用についてはここでは説明いたしません。
flex sdk に統合?された AIR 開発環境を Flash Develop から使う方法を説明します。

インストール

既に FLEX SDK での開発環境が整っている前提で話を進めます。 そうでない方はコチラから。

flex_fl.PNG
flex SDK を展開した所へ、AIR SDK を上書きして下さい。

元となる Flex SDK ファイルリスト。3.4 安定版辺りをお使いならば、AIR SDK のバージョンは 1.5 になるでしょう。

FLEX SDK 3.5.0.12683 では、AIR 1.5.3 が同梱されています。

air2rc_fl.PNG 今回の件の AIR 2.0 SDK RC。構成は同じですので、上書きで問題ありません。
AIR SDK だけを上書きできます。

これだけで開発が可能になります。ランタイムが 2.0 以上と、開発ターゲット以上でないと、実行時エラーが起きます。忘れずにインストールしましょう。→AIRランタイム

prj_set.PNG
プロジェクトを作成したら、ターゲットを設定しましょう。デフォルトが Flash Player 9 ままなので、プロジェクト新規作成の度に明示的に設定してやる必要があります。



AIR 2.0 サンプル

とりあえず、AIR 2.0 で出来るようになった、Socket サーバー機能を試して見ましょう。

→大いに参考:http://192.150.8.55/jp/devnet/air/flex/quickstart/communicating_with_sockets.html

UDP ソケットの話は、AIR 2.0 β の新機能説明ページが山ほどあり散々既出ですので、 一つ捻って TCP サーバを扱って見ましょう。と言っても上に挙げた参考ページで主な事は述べられて居るので、 応用として簡易 HTTP サーバーを作って見ることにします。


実際、弄くると判りますが、デバッグの段階でサーバーソケットを開くために、Windows ファイアウォールが一度だけ反応します。
fw.PNG
実際に許可されるプロセスは、adl.exe かと思いきや Flash Develop になるようです。


いきなり躓く

ターゲットバージョンを正しく設定し、コンパイルも無事に通り、いざ実行するとエラーダイアログが。

run_err.PNG


Error #1014: Class flash.net::ServerSocket could not be found.

上記のエラーメッセージをそのまま検索すると、Adobe のフォーラムに解決策がありました。

プロジェクト中の、application.xml にAIRのバージョンが記述されている箇所があります。

<application xmlns="http://ns.adobe.com/air/application/1.5">
これを、以下のように。

<application xmlns="http://ns.adobe.com/air/application/2.0">
フォーラムでは 2.0beta とか 2.0beta2 とかの細かい指定をしていましたが、実際は必要なかったようです。
もしかしたら何か問題が在るかも知れませんが、とりあえず上記のエラーが出ずに動作するようになりました。


プロジェクトテンプレート編集

これらの記述を、プロジェクト作成の度にするのは面倒なので、大元のテンプレートを編集してしまいましょう。

tmpl_fl.PNG
Flash Develop をインストールした所に Projects と言うフォルダがあります。ここに、新規プロジェクトの際に列挙されるプロジェクトテンプレートが幾つか有ります。

それぞれのプロジェクトを書き換えます。
  • application.xml.template
    →application タグの xmlns 末尾を 2.0 へ変更。
  • Project.as3proj
    →<project><output><movie> とタグ辿ったところに在る、version の値を 10 から 11 へ変更。
これで、次から新規作成されたプロジェクトも、最初から AIR2.0 開発設定になります。


とりあえず動いた

さて、紆余曲折、躓きもありましたが、ひとまず動くものが出来ました。

  • 動的ページは使えません。CGI 未対応。
  • というか、POSTアクセス未対応。GETアクセスのみです。
  • アドレス 127.0.0.1:80 にHttpサーバーを立てます。httpのルートは C:\public\ です。
    テスト扱い&面倒なので、ハードコーディングされてますが、初期化の際に与えるパラメータとして設定できるので、ソースコードを見てみてください。

フリーなソースコード。Flash Develop プロジェクトになります。
air2http.zip

使う為のサンプルでは無い為、アプリケーションとしてはとてもとても微妙。
アクセスログも、trace されるだけなので、Flash Develop のデバッグ起動でしかログを確認できません。

各自で頑張って、改造しましょう。CGI など動かせれば、十分使える物(一般公開とかではなく、個人試験環境レベルで)に化けるはず。



2010年6月28日追記:
CGI起動について、意気込んでプロセス起動の調査をしたところ、現時点での仕様では「プロセスへ環境変数を渡せない」「プロセスへ渡す環境変数を加工する手段がない」事が判りました。

実現するには、「CGIへ環境変数を渡せるネイティブアプリを作り、仲介しなければならない」模様。現時点(AIR2.0RC)では、純粋なAIRアプリケーションだけでは CGI対応Webサーバー は作れないようです。

とてもとても残念ネ・・・orz=3




トラックバック(0)

トラックバックURL: http://n-yagi.0r2.net/sanoupulurun/mt-tb.cgi/259

コメントする

ホーム >> 左脳Script >> Adobe AIR >> Adobe AIR 2.0

アーカイブ

このブログ記事について

このページは、n-yagiが2010年6月23日 18:08に書いたブログ記事です。

ひとつ前のブログ記事は「Webサーバへの攻撃とは?」です。

次のブログ記事は「Flash P2P チャット 「モ(ンスター)チャット」」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Creative Commons License
このブログはクリエイティブ・コモンズでライセンスされています。