AIR3 Native Extension – (1) ANEとは?

Ads

概要

Adobe AIR3 Native Extensionについての概要と動作確認を行います。また動作確認サンプル制作において参考になった記事をいくつかご紹介します。サンプルについては次回記事以降で説明していきたいと思います。

AIR3.0 Native Extensionが追加

先月、adobe AIR 3.0がリリースされました。今回の記事では、Adobe AIR 3.0の新機能である「Native Exension for Adobe AIR (通称:ANE)」についてメモしようと思います。

ANEで何ができるのか?

ANEではActionScriptからネイティブコードを実行できます。ネイティブコードとはWindows(C++,C#など)、MacOSXやiphone,iPadなどでお馴染のiOS(Objective-c)、Android(JAVA)などのコードです。ANEでは大まかに、次のような事が実現できるようです。

  • OS独自の機能が呼び出せる
  • 処理速度の向上

OS独自の機能というのは、スマートフォンであれば加速度センサーや電話帳などの機能です。TVであれば番組情報などの処理関連です。また、ネイティブなコード(WindowsのC++やMacOSのObjective-c)を呼び出して実行させるため、速度改善が見込めるようです。

Adobe AIRはOSに依存しないアプリケーションを配布できる点がメリットです。しかし、一方でOS独自の機能を活用したい場合にはAPIが用意されておらず、実装は難しいです。更にAdobe AIRは、ランタイムで実行されるためパフォーマンスではネイティブなコードには敵いません。

今回、Native Extensionが追加された事により、AIRの不利な点を大きくカバーしたことになります。

ただし、制作するAIRがマルチプラットフォームでの配布を目標とするケースでは、配慮が必要です。具体的には制作者が各プラットフォームで動作するネイティブコードを用意しなければなりません。Native Extensionでは、OS依存の処理が実行できる反面で、従来AIRの優位性であったポータビリティを下げてしまうケースもあるわけです。

サンプルの作成

以降複数記事で、ANEの動作確認サンプルを作成していきたいと思います。動作内容は以下のとおりです。

  • ボタンを押した時にActionScriptから、ネイティブコード(C++)のメソッドに文字(String)を入力します。
  • ネイティブコードは、入力された文字に、別の文字を加えて返り値として返します。
  • ダイナミックテキストにネイティブコードからの返り値を表示します。

制作環境は以下で行っています。

  • Windows Vista
  • Adobe Flash Pro CS4
  • Flash Develop 4 + ExportSWC(プラグイン)
  • Microsoft Visual C++ 2010 Express

制作の流れは以下の通りです。

  • 制作環境の準備
  • .dll作成。ネイティブな処理をVisual C++で実装する
  • .swc作成。.dllのメソッドを呼び出す処理をAS3で実装する
  • .ane作成。.dllと.swcをAIRで利用する為にパッケージ化する
  • .exe(AIR)作成。

参考にさせていただいたHP

以下の記事を参考にさせていただき、大変参考になりました。ありがとうございます。

ADOBE® AIR® 用ネイティブ拡張の開発(和訳) .pdf
Adobeによる、ANEについての詳細なドキュメントです。

Adobe AIR と ActionScript Native Extensions (ANE) (akihiro kamijoさん)
ANEの利点、役割と、ANEとNative Processの相違点を分かりやすく紹介されています。大変参考になりました。

Build FlashPlayer 11 AS with FlashDevelop (NUTSUさん)
Flash Developでの開発環境の準備方法が大変参考になりました。Flash DevelopでFlex SDK 4.5.1とAdobe AIR SDK 3.0を利用する方法が中盤で紹介されています。

AIR 3 Native Extension の開発についての連載 (AKABANAさん)
Flash Builder(Flex)とVisual C++によりANEを実装したAIRの作り方を解説されています。また後半の連載ではMacOS,iOS(Objective-c)やAndroid(JAVA)、C#での拡張方法も網羅されています。

ActionScript Native Extensionsのサンプルアプリ作成のまとめ (agendyさん)
上記の記事と同様にFlash Builder(Flex)とVisual C++によりANEを実装したAIRサンプルの制作が解説されています。写真を含めた解説が分かりやすかったです。

Ads

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA