Help us understand the problem. What is going on with this article?

モバイルAdobe AIR開発の技術選定

More than 3 years have passed since last update.

モバイルAdobe AIR開発の技術選定

最強のマルチプラットフォーム技術Adobe AIR、というといいすぎですかね。Adobe AIRを使っている開発者なら必ずしも皆が言うのは「やっぱ、Flashは作りやすいですよね」ということです。

Adobe AIRはデスクトップ(Windows, OS X)のみならず、モバイルアプリ(iOS, Android)を開発することができます。しかし、一概に「Flashを作る」といってもその作り方は何種類もあります。作り方によっては思ったようにパフォーマンスがでなかったり、開発工程が肥大化し延期に延期を重ねるという危険性もあります。そうならないためにも技術選定の参考までに、モバイルAIRそれぞれの作り方の特徴をまとめます。

Flash Professional で開発

Adobe CCのひとつFlash Professional CC(通称、Flash Pro CC)を使う方法です。タイムラインとステージというデザインツールに加えて、ActionScriptも書ける便利な制作ツールです。

メリット

  • タイムラインでアニメーションを作れる
  • ステージでデザインが描ける
  • 簡単なActionScriptを書ける

デメリット

  • パフォーマンスが優れない
    • CPUで動くため (GPUの選択肢もあるが、限度もある)
  • 中・大規模なActionScript開発に向かない

Apache Flex フレームワークで開発

Flex フレームワークはMXMLというマークアップ言語でFlashを開発できるフレームワークです。Adobe Flex 4.6まではアドビのものでしたが、手放されて今はApache Flexとして開発が継続しています。エンタープライズ方面でFlexフレームワークが使われることが多いですが、モバイルFlexも有効な選択肢の一つです。

メリット

  • 中・大規模なActionScript開発に適する
  • コンポーネントが揃っているため、ツール系UIの開発が容易

デメリット

  • パフォーマンスが優れない
    • CPUで動くため (GPUの選択肢もあるが、限度もある)
  • デザインの組み込みが手間
  • Flexフレームワークに対する理解が必要 (学習コストが高い)

Starlingフレームワークで開発

FlashではGPUをより活用できる技術として「Stage3D」があります。Stage3Dを使った場合のFlashのパフォーマンスは非常に良好です。「iOSにおけるSwift/Unity/PhoneGap/Adobe AIRのパフォーマンス比較検証 - ICS MEDIA」という記事ではAdobe AIR (Stage3D)はネイティブについで高いパフォーマンスを有しており、Unityよりも良好な結果が得られています。

StarlingはStage3D上にDisplayListを構築するフレームワークです。

メリット

  • パフォーマンスに優れる
    • Flashを作る上で最大のパフォーマンスを得られる

デメリット

  • デザインの組み込みが手間
    • Flash Pro CCからアセットを出力する独自ワークフローの構築が不可欠
  • Starlingフレームワークに対する理解が必要 (学習コストがやや高い)
  • OpenGLの特性にあわせた最適化が必要
    • レンダリング時のドローコールを抑えるなど最適化が必要
    • 電力消費を抑えたり、パフォーマンスを上げる必要がある
  • 電力消費が大きい
    • 毎フレーム、画面領域全体を描き直すので。

StarlingとFeathersで開発

先ほどのStarlingはStage3D上にDisplayListを構築するフレームワークです。対してFeathersはStarling上のUIパーツを提供するライブラリです。

メリット

  • パフォーマンスに優れる
    • Flashを作る上で最大のパフォーマンスを得られる
  • UIパーツなどのコンポーネントを利用できる

デメリット

  • デザインの組み込みが手間
  • Starlingフレームワークに対する理解が必要 (学習コストがやや高い)
  • Feathersフレームワークに対する理解が必要 (学習コストがやや高い)
  • OpenGLの特性にあわせた最適化が必要
  • 電力消費が大きい

まとめ

メリット・デメリットをまとめると次の方針で技術選択するのが良さそうです。

  • パフォーマンス優先なら「Starling + Feathers」が定番
  • Flexフレームワークの知識があり、パフォーマンスを必要としないなら「モバイルFlex」
  • カジュアルにミニマムアプリを作るなら「Flash Professional」

次回からはそれぞれの方法について詳しく掘り下げていきます。

clockmaker
ウェブ制作会社ICSの代表および ics.media 編集長をやっています。得意分野はプログラミングアート、インタラクティブ表現の制作。詳しくはリンク先を御覧ください。 https://ics.media/entry/author/ikeda
http://clockmaker.jp/labs/
ics
インタラクションデザイン専門のプロダクション。最先端のウェブテクノロジーを駆使し、オンスクリーンメディアの表現分野で活動しています。最新のウェブ技術を発信するサイト「ICS MEDIA」を運営。
https://ics.media/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした