Exporter (エクスポータ)とは


クリックチーム フュージョン2.5 ( Clickteam Fusion 2.5 ) はひとつのソースコードでクロスプラットフォーム動作を実現するための拡張機能として「エクスポータ( Exporter )」が別途販売されています。

えくすぽーた

Exporter とは何をするものなのか

cf2.5_android_exporter_steam_version

エクスポータの役割は CF2.5 を使って作られたアプリケーションのソースコードを「エクスポート」することです。「エクスポート ( export )」とは、CF2.5 の場合、ウィンドウズで開発したウィンドウズ用のアプリケーションのソースコードを他の OS でも実行できる形式にしてファイルを保存する機能のことです。

エクスポータを使ってエクスポートできるファイル形式は、OS 毎に仕様や制限があって最終出力形式も異なります。

例えばアップルの「 iOS 」は iOS で動作するアプリを作るために Mac OS と SDK (要開発者登録) が必要です。CF2.5 のエクスポータが iOS 用に提供できるファイル形式は iOS の開発環境で使われる Object-C で保存されたプロジェクトファイル(ソースコード)一式。そしてこのソースコードを開発者は Mac OS 上に持ち込んで、SDK を用いて自分でコンパイルすることによって iOS 上で動くアプリが完成します。

一方 iOS のライバル的な存在、Android (アンドロイド)などは SDK が無償で公開されていてそれらは開発環境もウィンドウズ上で構築可能です。コンパイルに必要な環境を事前に整えればアンドロイド・アプリの作成までを CF2.5 のアンドロイド・エクスポータが半自動で行なってくれます。

lonly_baseball_iTunes_iOS_game

涙を拭けよ ! ぼっち野球 : iOS exporter を利用

モバイル用のアプリ 2 つを例にしましたが、CF2.5 のエクスポータが果たす役割は OS 毎に仕上げが異なります。大別するとソースコード一式を吐き出して終わるタイプと、ちゃんとビルドまで行なってアプリとして出力してくれるタイプです。またエクスポータにはこれらモバイル OS 以外にもブラウザ上で共通して動かすための「 SWF 」や「 HTML5 」などがあって、旧製品である「 MMF2 Dev 」では Java アプレット( Java Applet )にも対応していました。

エクスポータは魔法のような技術ですが、色々制限があるため長所と短所をまとめてみました。

長所

あまり詳しく無くても簡単にアプリが作れます。ウィンドウズ用として作ったアプリケーションを他の OS 上で動かしたい場合やモバイルで動作させたいなど、あるいはブラウザを通じてコンテンツの作成に利用したり、作例をブラウザで披露したり、簡単にできます。また作ったアプリケーションをユーザが独自にマネタイズ(広告掲載やアプリの販売を通じて作品を収益化すること)する要望が多く、マネタイズのためのエクステンションが各エクスポータ毎に対応をしています。広告の表示なども可能です。

短所

エクスポータごとにエクステンションの対応が異なるため、なるべく多くのプラットフォームで共通して使えるソースコードを作るためには、標準機能や標準動作だけを扱い、エクステンションになるべく頼らないで、もしくは異なったエクスポータでも共通して使える実績のあるエクステンションを事前に調べて選んで使う必要があります。エクステンションの利用が制限されてしまいますので、クロスプラットフォームを実現するためには事前にエクステなど拡張機能は厳選する必要があります。広告掲載機能などはエクステの作者毎に対応が異なるため、情況に応じてソースコードをエクスポータ毎に分割して異なるエクスポータを利用するなど、ソースコードを各エクスポータ用に微調整する必要などは出てくると思われます。

そして切実なのは動作確認が大変。各プラットフォーム上でのアプリの動作制限や仕様を後からでも良いので正しく理解する必要があります。

参考: Clickteam – Android Export Module

参考:Clickteam – iOS Export Module

参考:Clickteam – HTML5 Export Module

参考:Clickteam – Flash Export Module

ブラウザ系エクスポータ / HTML5 、 SWF

ゲームコンソール系 / XNA( XBox360 )、 OUYA ( アンドロイド )

モバイル系エクスポータ / iOS ( iPhone、iPad ) 、 Android ( アンドロイド ) 、 XNA ( Windows Phone 7 〜 8 )