Home > | , , , > AIRあげぽよ~!iPhone/Android両対応アプリを本格的に作ったよ!のまとめ

AIRあげぽよ~!iPhone/Android両対応アプリを本格的に作ったよ!のまとめ

  • 2012-06-08 (金) 16:44
  • ���̃G���g���[���͂Ăȃu�b�N�}�[�N�ɒlj�

Flashはオワコンですか?そんなFlashのAIRでiPhone/Android両対応アプリを作りました。

ぼくはObjective-CでもPELOというアプリを作っていたのですが、Objective-Cは難しいなあーという印象でした。

そんな折に、AIRが3にバージョンアップし、動作速度が改善されたり、ANE(AIR Native Extension)でネイティブとのやりとりができる(要するに何でもできる)ようになって、なかなかいい感じに仕上がっていると聞き、仕事で使ってみました。

まだ本格的なAIRアプリが出まわっていないこともあって、世間的にも実際どうなの?というところなので、今回ざざーっとFAQ方式で書いてみますネ!

その前になんのアプリを作ったかといいますと、スポーツ応援アプリです。ぼくの所属する会社バスキュール号が「ソーシャルスタジアムシステム(Social Stadium System)」というスポーツ観戦応援システム開発しており、その仕組みを載せたAIRアプリを先日リリースしたのでした。

とりあえず、AIRのポイントを6つ!

まずざっくり6つ挙げましょう。

  • 20~30FPSは出ます。軽快です
  • 普通に作ればアプリが落ちたりしません
  • ANEがあれば、なんでもできます
  • AppStoreの審査にちゃんと通ります
  • ハマりポイントを抑えておけば、それほどハマりません
  • Flashそのままで作れてワークフローがそんなに煩雑じゃない

思ったより全然イケてました

イメージとしてはスマホの機能(カメラやセンサーとか)も使えるFlashPlayerがそのまま入ってる感じです。

Objective-Cはデザイナーには難しいと思うし、iPhoneアプリでアニメーションしようとしても、けっきょくFlashで作ってスプライトアニメーションに変換して……、とかそんな手間があったのが夢のようです。まったく楽ちんです。

動作速度は?

  • 思ったより速くて、20~30FPSくらいは出ます。
  • 描画モードにRenderModeというものが3つあります。
    • CPUレンダリング(ふつうのFlashと同じ)
    • GPUレンダリング(GPU使う。Flashのフィルター系エフェクトが使えない)
    • Direct(Stage3D、StageVideoを使うときに使う)
  • AndroidだとCPUが速くて、iOSだとGPUが速いです。iOSでGPUだと頑張らなくても60FPS出たりします。

使用メモリは?

  • 2010年前半までのAndroidの端末では使用メモリ80MBを超えると落ちちゃうらしいですが、むちゃくちゃでかい画像を大量にロードしない限り大丈夫です。
  • 作り方や画像の大きさによるところですが、普段は20~30MBくらいに収まるかと。

容量は?

  • AndroidはSWFの容量とほとんど変わらないです。
  • というか逆に軽いくらいです。SWFだとSWFの中で透過PNGをJPG圧縮したりできるので、大量の透過PNGを用意するより、ひとつのSWFのほうがずいぶんと軽いです。
  • ただ、AIRランタイムを同梱すると7-8MB増えます
  • iOSはAIRランタイムを同梱するので7-8MB増えます

ガベコレ、メモリリーク

  • Flashと同じく、きちんとやってくれているようです。
  • Objective-Cのように、すっごい気を使う必要はありません。

アプリは落ちないか?

  • きちんと作ればまったく落ちません。
  • 今回作ったアプリがスポーツ応援アプリということで2時間ずっと立ち上げっぱなしが求められていたのですが、落ちませんでした。
  • ただ、iOSではASでエラー処理をハンドリングしないと落ちます。
  • メモリリークも、ちゃんと画像を消すとか、要らなくなったものは消すとか、そういう基本をおさえればOK

通信速度は?

  • Twitterのアイコンを10000個ほどロードするテストを行いましたが、バリバリイケてました。
    • iOSではまったく遅くない
    • Androidはちょっともたつく
    • 感じでした。Androidはネイティブでも遅いので、それのせいかもしれません。が、特に落ちたりメモリリークしたりもまったくなく完璧でした

AIRで特別おぼえないといけないことは?

  • AIRじゃないけど、スマホアプリ制作に必須な知識と手間がいります。
    • 証明書・プロビジョニングファイルなど
  • Objective-C / javaはまったく覚える必要はないです。
  • Flashと違い、以下のポイントを抑えておけばよいでしょう。
    • アプリケーションの起動と終了
    • ローカルファイルの読み書き

ANEって難しい?

開発環境は?Flash CS5.5? FlashBuilder?

  • コードはFlashDevelopで書いて、デスクトップAIRとして書きだして作っていました
  • 実機転送するときは、最初はFlashCS5.5でやっていましたが、途中からFlashBuilderにしました。
  • FlashBuilderだと高速パッケージングというのがあって、10秒くらいでiOSのパッケージを作ってくれます。
    • (FlashCS5.5だと1分30秒くらいかかります。大規模になればもっとかかる)
    • Androidへの転送もFlashBuilderのほうが楽でした。デバッグもやりやすいです

開発期間は?

  • 普通のFlashを作る+iPhone/Android個別対応分、とハマりポイントでのタイムロスとかを考える感じです。
  • はじめてのときは単純にFlashの2倍くらいを考えればいいのではないかと思います。慣れたら普通のFlashと同じになると思います
  • 習得が容易ではないObjective-Cに比べると、非常に楽チンです。AIRのハマりポイントもあるので、そこをいかに速く抑えるかがポイントではないかと思います。
  • 一人ではやらないほうがいいです。検証するひとと、開発するひと、最低2人は必要だと思います。

簡単に作り方を教えて!

  • iOS
    • iOS dev Centerにて、デベロッパー登録→お金払う→証明書やプロビジョニングを取得
    • FlashCS5.5 or FlashBuilderでipa書き出し
    • iTunesかiPhone構成ユーティリティで実機に転送
    • リリース用にはリリース書き出しして、AppStoreに提出→審査
  • Android
    • 証明書を準備(FlashCS5.5 / FlashBuilderで作れる)
    • FlashCS5.5 / FlashBuilder で書き出し→そのまま実機に転送
    • リリース用にはリリース書き出しして、GooglePlayで登録

作成にあたって参考にしたものとかある?

AIR書き出しの際に、書いたらNGな関数があれば

  • 意外なことに、とくにないです

何故AIRだったのか?(Webアプリ・HTML5/CSS3じゃダメなの?)

  • アニメーションが楽
    • HTMLでアニメーションをやろうとすると結局Flashから書きだしてJSで制御、という流れもあって、画像入れ替えが生じたときも煩雑…。
    • まだ制作フローが完成されていないので、まだまだこれからというところですかね…。
  • クロスコンパイル
    • 少人数でiPhone/Android対応ができる、というのはお金的な面でも工数的な面でも品質的な面でも有利です

ハマりポイントは?

  • たくさんありましたよ…。それはまた別の機会に…。

まとめ

Flashそのまま作れてしまうし、よくわからないObjective-Cやjavaも覚えなくていいので、AIRだととにかく楽でした。

あと、やっぱりデバッグのしやすさ、アニメーション/演出の作りやすさはピカイチですね。

もちろん、ネイティブのUIフレームワークを使ったほうがよいアプリもたくさんあると思うので、適材適所ですが、Flash的なアプリだとばっちりなんじゃないでしょうか

またこんどはAIRのハマりポイントについて詳しく書きましょうー!

ご清聴ありがとうございました。

Trackbacks (Close):4

pingback from AIRあげぽよ~!iPhone/Android両対応アプリを本格的に作ったよ!のまとめ | iPhone情報発信局! 12-06-09 (土) 18:04

[…] AIRあげぽよ~!iPhone/Android両対応アプリを本格的に作ったよ!のまとめFlashはオワコンですか?そんなFlashのAIRでiPhone/Android両対応アプリを作りました。 ぼくはObjective-CでもPELOというアプリを作っていたのですが、Objective-Cは難しいなあーという印象でした。 そんな折に、AIRが3にバージョンアップし、動作速度が改善されたり、ANE(AIR Native Extension)でネイティブとのやりとりができる(要するに… […]

pingback from FlashではじめてiPhoneアプリを作りました | 宇都宮ウエブ制作所 12-07-03 (火) 8:16

[…] AIRあげぽよ~!iPhone/Android両対応アプリを本格的に作ったよ!のまとめ スーパー肩パッドさんの書かれたAIRアプリのまとめです。 あまりに良記事過ぎてほんとにこれをみれば僕の記事なんて読まなくてもいいです。 まだ読んでない人は今すぐ読んでください。記事内に使われているフリー素材もツボポイント高しです。 […]

pingback from 大阪てら子44『僕らのAIR大作戦☆』にて、AIRを使ったアプリ開発について学んできました - sa 12-07-30 (月) 10:55

[…] AIRあげぽよ~!iPhone/Android両対応アプリを本格的に作ったよ!のまとめ | Ka… […]

pingback from Flashコンテンツをスマフォアプリに移植する手段を調べてみた | 14log 12-12-27 (木) 10:30

[…] AIRあげぽよ~!iPhone/Android両対応アプリを本格的に作ったよ!のまとめ […]

Home > | , , , > AIRあげぽよ~!iPhone/Android両対応アプリを本格的に作ったよ!のまとめ


Search
Feeds
Meta

Return to page top