ネイティブへ拡張し続けるAIRは“3”でどうなるのか

ネイティブへ拡張し続ける
AIRは“3”でどうなるのか


アプリストア「Adobe InMarket」は閉店


有限会社オングス
後藤 大地
2011/8/18

モバイル向けAdobe AIR/Flashの最新情報

- PR -

 アドビシステムズ(以下、アドビ)は最新のAdobe AIR(以下、AIR)やFlash BuilderFlash Professionalにおいて、AndroidiOSiPhoneiPadiPod Touchなどのスマートフォン/モバイルデバイス向けのアプリケーション開発に強いコミットメントを続けている。特にゲームであったり、グラフィック処理が多いアプリの開発を支援する機能の充実ぶりは目を見張るものがある。

 今回、米アドビの主任プロダクトマネージャーであるMike Chambers(マイク・チャンバース)氏とプラットフォームエバンジェリストであるLee Brimelow(リー・ブリムロー)氏に、モバイルアプリ開発に関する最新の情報を伺うことができた。以降で特に興味深かった内容を紹介する。

アドビシステムズ プロダクトマネージャー Mike Chambers氏 Flash/AIRのWindows Phoneへの対応ついては「マイクロソフトに聞いてほしい」

「AIR for iOS」はLLVMの技術で実現している

 アップルはiOSアプリにおいてプライベートAPIの使用を禁止している。つまり、iOSに対してはAIRのランタイム環境やFlashのランタイム環境を提供できない。ではアドビは、「AIR for iOS」において、どうやってAIRアプリをiOSネイティブアプリに変換しているのか、という疑問が浮かぶ。

 「iOS向けにはAIRのランタイムというものは提供していない。AIRやFlashのアプリをネイティブのiOSアプリへ直接変換している。Objective-Cのコードへ変換するのではなく、もっと低レベルで変換を実施している」(ブリムロー氏)

 「われわれはLLVM(Low Level VM)のバイトコードを変換して直接iOSのネイティブアプリを生成している。iOSはARMプロセッサを採用しているので、LLVMのバイトコードからARMのコードへ変換している」(チャンバース氏)

 チャンバース氏はネイティブアプリを生成できるようにしたこと以外に、その生成されるバイナリの性能の高さを主張していた。「ここで重要なのは、先ほどリー(・ブリムロー氏)がお見せしたiPadでAIR for iOSのアプリが動くデモは、すべてパフォーマンスが高いということ。昨年かなりの時間を費やして、この部分の開発を実施した。非常にパフォーマンスの高いゲームを開発できるようになっている」


ネイティブへの拡張は「Alchemy」から始まっていた?

 2008年、Adobe Labsに「Alchemy」と呼ばれるプロジェクトが登場した。これはC/C++のライブラリを、Flash PlayerなどのActionScript仮想マシン(AVM)で動作させるというプロジェクト。C/C++をLLVMを使ってLLVM中間形式へコンパイルし、次にLLVM中間形式をActionScriptのバイトコードへコンパイルすることで、C/C++ライブラリをActionScript仮想マシンで動作させている。

 AIRアプリからiOSネイティブアプリへの変換は、Alchemyとはコンパイルの方向が逆になるが、Alchemyの研究の成果を使っていると予想できる。AIRアプリをLLVMを使って中間形式へコンパイルした後、中間形式をARMプロセッサの実行形式へ変換しているのだろう。

 3年前には、AIRのバージョンは1.5だった。その後のAIR 2ではデスクトップ向けだが、下記記事さまざまなネイティブ機能への拡張を実現している。ここにも、Alchemyの研究の成果が生かされているのではないだろうか。AIR 2で追加された機能については、下記記事を参照してほしい。

Dreamweaver → AIRができるのに、なぜPhoneGap?

 もともと、AIRは「Flashだけではなく、HTMLJavaScript、そしてDreamweaverからもデスクトップアプリを生成できる」ということで登場した技術だった(参考:「AIRで開発者とデザイナの間を埋める」、アドビ)。

 AIRをスマートフォンのネイティブアプリに変換する自社技術があるのに、スマートフォンのネイティブアプリを作成する技術として、アドビがAIRを使わずに「PhoneGap」を採用したことには違和感を覚えるが、これも意図的に採用した技術であるという説明があった。

 「HTML/JavaScriptからAIRに変換はできるが、それはあくまでもデスクトップ向けのAIRアプリだけだ。モバイル向けのAIRアプリはHTML/JavaScriptからは作れない」(チャンバース氏)

 「HTMLやJavaScriptをネイティブなAndroid/iOSアプリに変換できるのがPhoneGapだが、DreamweaverにPhoneGapを盛り込むのは妥当な判断だ。Dreamweaverでは、Flashが分からない、Flashを学びたくないというHTML/JavaScript開発者を対象としているため、PhoneGapを採用している」(ブリムロー氏)

 プロダクトを利用するユーザーの特徴に合った技術を採用した結果、PhoneGapの採用に至ったということだ。実際、社内にPhoneGap専任の技術者がいるなど、アドビはPhoneGapの開発にもかなりコミットメントしているという。

アドビシステムズ プラットフォームエバンジェリストLee Brimelow氏 やはり今後もiPhone/iPadにFlash Playerは搭載されないのか、という問いに「そのことを聞かれたのは久しぶりだ(笑)」

Adobe InMarketは、閉店

 アドビはクロスプラットフォームのアプリ開発を支援すると同時に、アプリストアへのアプリの登録や配信も支援するとし、「Adobe InMarket」を昨年から展開してきた。それぞれのアプリストアにアプリを登録する作業をアドビが肩代わりするサービスで、開発者の負担軽減の目的があった。しかし、アドビはAdobe InMarketの提供を終了。理由は、「開発者が、それを望まなかった」ということだ。

 「Adobe InMarketは閉鎖することにした。われわれが開発者の代わりにコンテンツを出すのではなく、開発者自身が各アプリストアにコンテンツを出す方がいいだろう、と考えたからだ。開発者からも自分たちでストアに出したいという声が多かった」(ブリムロー氏)

 さらにブリムロー氏は、こう続ける。「例えば私が開発者で、iOS向けのコンテンツを開発しているとしたら、アドビにAdobe InMarketの使用料を支払い、アップルにも使用料を支払わなければならないという状況だった」開発者の費用的な負担的に考えても、個別のアプリストアに自らアプリをアップしていきたいというのは、自然な要求だったようだ。

AIR 3やCS6の新機能、リリーススケジュールは?

 いまFlash開発者/デザイナが気になるのは、AIR 3で提供される新機能と、Flash Professional CS6Flash Builder 5などのリリースだろう。もっとも、この2つについては、はぐらかされてしまったが、いくつかヒントは教えてもらえた。

 「AIR 3における新機能の1つは、『Nateive Extension(ネイティブ・エクステンション)』にある。デバイスやセンサが提供しているネイティブの機能をAIRのアプリから利用できるように、自分の手で拡張できる。それ以外にも、まだ開示できない情報を含めて、いくつも新機能がある」(ブリムロー氏)

 つまり、ネイティブコードで実装されたActionScriptライブラリを作って、AndroidでもiOSでも、WindowsでもMac OS Xでも、それぞれのOS/プラットフォームに合わせてネイティブ依存機能を利用できるように拡張できるということだ。

 「AIR 3の新機能に関しては、これからアドビの開発者の1人であるChristian Cantrellのブログに随時掲載されることになる。これから数日間の間に掲載される見通しだ」(ブリムロー氏)

編集部注:インタビュー後の8月8日からAIR 3の実行環境とSDKのベータ2版がダウンロード開始になっています

 リリーススケジュールに関しては、チャンバース氏が答えてくれた。「Flash Professional CS6に関して具体的な詳細をお伝えすることはできないが、CS6でのわれわれのゴールはモバイルアプリケーション開発のワークフローを改善することにある。これは確約とはいえないが、特にゲーム開発者を支援できるものになると考えている。『CS6』というアナウンスもしていないため、CS6になるかどうかも分からない。『次のバージョン』としか呼んでいない」

 さらに、こう続ける。「AIR 3に関しても正式版のリリース予定は、まだ発表していない。ただし、もうすぐAdobe MAXが開催されるから、その開催日を考えれば、そう遠い話ではないだろう。これまでの情報をつなげてもらえれば、大体どの辺りになるのか分かっていただけるのではないかな(笑)」(チャンバース氏)

 アドビの年次イベントであるAdobe MAXは2011年10月1日から開催される予定だ。後2カ月を切ったわけだが、少なくともあと2カ月でAIR 3やFlash Builder、Flash Professionalの最新版に関する情報が公開されることになりそうだ。

■ @IT関連記事


スマホ向けアプリ開発の扉を開くAdobe AIR 2.5とは
Flashでできる! Androidアプリ制作入門(3) 
AIR 2.5のモバイルアプリ開発用の機能を紹介し種々の設定やSDKのコマンドを使ったAndroidアプリ開発の仕方を解説します
Smart & Social」フォーラム 2011/1/20
iPhone/iPadアプリ開発の扉を開くAdobe AIR 2.6とは
Flashでできる! iOSアプリ制作入門(1) 
AIR SDKの新機能について、マルチタスクやRetinaディスプレイ、カメラ、マイクなどiOS向けを中心に11項目に分けて紹介します
Smart & Social」フォーラム 2011/5/20
FlashもHTML5/jQueryもスマホアプリに変えるCS5.5
アドビに聞く、ツールの使い分けポイント
 Flash Pro/Flash Builder、Dreamweaver、シミュレータ「Device Central」を使ったスマホアプリ開発のポイントを聞いた
Smart & Social」フォーラム 2011/6/20
Flash Builder 4.5でAndroidアプリを作ってみた
Flashアプリ開発ツールのスマホ向け新機能を試す 簡単なアプリを作りながら、リモートデバッグ機能やテンプレート、ローテーション対応などさまざまな機能を紹介します
Smart & Social」フォーラム 2011/5/11
Flash Builder 4でAdobe AIRアプリを作ってみた
業務用Flashアプリ開発ツールの新機能を試す 新機能の目玉「データ中心型開発」とは何なのか? 簡単なRSSリーダーのサンプルを作りながら、新機能をイロイロ紹介
リッチクライアント & 帳票」フォーラム 2010/3/24
Adobe AIRでiTunes×Twitterクライアントを作った
これ、俺ならこう使う(2) iTunesで再生されている楽曲のタイトルを、Twitterアカウントに「いま聴いている曲」として投稿するAIRアプリケーション「音ログAIR」を作ってみました
Smart & Social」フォーラム 2008/8/11
作って学ぶAIRウィジェットの基礎→応用
最近よく聞くAdobe AIRって何だっけ? ウィジェットを簡単に作れるらしいけど…… と曖昧な知識のあなたに贈る超入門連載。楽しいサンプルを作って基礎から応用まで学ぼう


後藤 大地

オングス代表取締役。@ITへの寄稿、MYCOMジャーナルにおけるニュース執筆のほか、アプリケーション開発やシステム構築、『改訂第二版 FreeBSDビギナーズバイブル』『D言語パーフェクトガイド』『UNIX本格マスター 基礎編〜Linux&FreeBSDを使いこなすための第一歩〜』など著書多数。


 Smart&Social フォーラム トップページへ



Smart & Social フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Smart & Social 記事ランキング

本日 月間