10月25日(米国時間)、Adobe MAX 2010の会場においてRIA技術の最新版「Adobe AIR 2.5」が発表された。これを受けて、同イベントに参加していた日本人向けに、Adobe AIR(以下、AIR)の製品担当者がAIRの現状、今後のロードマップについて紹介する特別セッションが行われた。その模様をお伝えする。
FlashとAIRの現況
様々なデバイスにリッチなアプリケーションおよびコンテンツを配信するアドビの技術「Flash Platform」には「Flash」と「AIR」の2つの似た技術があるが、同社ではブラウザ内で動くものを「Flash」、それ以外のデスクトップやテレビ、モバイルで動くものをすべて「AIR」と呼んでいる。
Flashは現行のほぼ全てのデスクトップPCに導入されている技術で、デスクトップPCへのインストール率は98%、Flashのデベロッパー数は300万人に上る。
AIRについては定着が進みつつある段階と述べつつも、既に3億のランタイムインストール、250万のSDKインストールと、着実に一般化が進んでいることを示した。
AIRのビジネス利用は、ワーナーやニューヨークタイムズといった大手マスメディアから、数人規模の開発会社まで幅広い範囲で行われている。小規模の開発会社に受け入れられている理由については、AIRで開発したアプリは他の環境で動かすことが容易なため、開発の効率が良いことを挙げている。
また、Flashプラットフォームは、オープンソースやベータプログラムなど、オープンな体制で開発が進められている。
同日リリースされた「AIR 2.5」はオープンベータとして開発が進められ、1万1千人のデベロッパーに評価されてクオリティが磨かれた。これはアドビのオープンベータの歴史上、最大のユーザー規模に当たる。デベロッパーの高い関心が伺える。
今回初めてランタイムがAndroidに対応したが、リリース直後にもかかわらず、既に300以上のAIRアプリがAndroid Marketで公開されている。無料アプリと有料アプリの比率も良好なようだ。
FlashとAIRの機能の違い
アドビでは、Flash Platformに含まれるFlashとAIRをほぼ同等に扱っているので、多くの機能が共通する。例えば、スクリーンの向き、タッチ・ジェスチャ、加速度といったセンサーや、パフォーマンスに関する機能、動画コンテンツのDRM(デジタル著作権管理)などはともに提供されている。
AIR 2からは、USBなどの一時ストレージの接続、デフォルトでファイルを開くアプリの指定、P2Pによる軽いサーバーコネクションの利用などの機能が追加されていた。
さらに、今回発表されたAIR 2.5では、デバイスのカメラ、マイク、位置情報、加速度センサー、マルチタッチなどモバイル向けの新機能が追加された。
一貫性を重視するより、パーツの再利用を考えた開発を
よくデベロッパーは一度開発したらどこでも動く(つまりWrite once, run anywhere)が理想であると言う。しかし、本当にそんなことができるのだろうか。アドビでは、あまり現実的な選択肢ではないと考える。
むしろ、一貫性を犠牲にしてでもパーツごとに再利用を考えた作り方をし、状況に応じて組み合わせる方が、デバイスごとに最適化したアプリを提供できるという考えだ。例えば、デスクトップPCに加速度センサーの機能があったり、テレビに印刷する機能がついていたりしても意味がない。
具体的には「プロフィール」という概念を導入することで、デバイスごとの機能や性能が多少変わっても、似通ったものを大まかに分けたグループごとに、一貫性を守るようにする。
検討中の機能「ビデオ」「ゲーム」「エンタープライズアプリケーション」
アドビでは新機能を追加する際、必ずどのようなビジネスを作り出すための機能かを追求する。実装がいつになるか分からないと前置きした上で、検討中の追加機能が紹介された。現在、最もサポートしたい分野は「ビデオ」「ゲーム」「エンタープライズアプリケーション」の3つだという。
また、プロフィールごとの対象デバイスの拡充も検討しているという。特にモバイルではiOS、Android以外にも様々なデバイスが存在するので、今後はPalm OSやMeeGoなどにも対応していきたいとした。
次バージョンで検討している機能として具体的には、デバイスのサブカメラ、テレビの人物感知センサーのような未対応のセンサーのサポート、ネイティブ拡張を挙げた。ネイティブ拡張はすでにデスクトップ版では実装されているが、Android向けのAIRに対しても実装し、AIRアプリの選択肢を広げていきたいとしている。また、AIR 2.5のWebKitは前回のバージョンから変わっていないため、HTML5を100%カバーする形で更新していきたいとも述べている。
継続的なパフォーマンス改善
AIRは現在いろいろな用途で使われているが、デベロッパーに聞いたところ、「ゲーム」「電子出版」として需要が高い。特にゲームは先進的な機能、ハイパフォーマンスが求められる分野だ。
パフォーマンス改善にもリソースを費やしており、一番手をかけているのはGPU機能の部分。PCではGPUが当たり前になってきているので、GPUをフルに活用して、CPU負荷の軽減や表現力の向上を目指す。
中でも現在一番注力している機能が「ステージビデオ」だ。動画の再生は通常、ビデオのデコード、画像変換・表示処理(色変換、拡大縮小など)の2ステップで行われている。現在、前者はハードウェアに処理を投げることも可能だが、後者はFlashの中でのみ処理が行われている。ステージビデオは、その後者の行程をハードウェアで処理させる機能だ。
最終的にはCPUリソースを消費せずにHD品質の動画を表示することができ、表示品質やバッテリー持続時間などの向上が期待できる。
フルスタックの開発環境「Flash Platform」
アドビはFlash Platformをユーザーに触れる表示側の機能だけでなく、開発ツールやフレームワークなどを含めたフルスタックの開発環境として提供しているので、今後も生産性の高い開発ワークフローの進化が期待できる。下図がFlash Platformの全体像だ。
通常のアプリのようにモバイル開発が可能に
モバイル向け開発では実機上でアプリケーションを動かしながら、デバッグやプロファイルを行える仕組みを提供したいと考えている。
「Flex 4.5」もモバイルへ対応
オーサリング面で、今後強化を検討しているのは、マルチスクリーンで展開するための、よりよいワークフローの提供。同日発表されたFlex 4.5のベータ版ではモバイル対応が行われた。なお、Flex 4.5のモバイル対応は別途モバイル版のフレームワークがでるというわけではなく、モバイルにも対応できるようFlex自体のカバー範囲が広がった、という点に注目したい。
追加情報は「ADOBE FLASH Showcase for TV」で
Chou氏は、さらなる情報として、Flash showcaseやApp brain listing of AIR apps、25日から公開されたADOBE FLASH Showcase for TVなどを参照することを勧め、Adobe AIRに関する講演を終えた。