FDT の Haxe エディタ機能について調査
はてなブックマークを眺めていた所、JSX というものが話題になっており、比較として Haxe が挙げられていました。
私は FDT を利用しているという事もあり、Haxe に関しては後々調査予定としていましたが、丁度業務にて Haxe が利用できそうな状況になったため、FDT でサポートされている Haxe エディタ機能がどれくらい有用できるか簡単に調査してみました。
FDT5
http://fdt.powerflasher.com/
Haxe
http://haxe.org/
前提
PC 向け Flash ゲームを開発した後、そのゲームをスマートフォンのブラウザでも遊べるように移植する事を求められています。スマートフォンのブラウザということで、HTML と Javascript で制作する事となります。
通常の開発手順としては以下が考えられます。
(1) Action Script 3.0 にて Flash ゲームを開発
(2) (1) で開発したものを Javascript にてスマホブラウザゲームとして移植
ここで、初めから Haxe を用いれば (1)と(2)の開発手順を ある程度ひとまとめにできるのではないかな?と考えました。Haxe は「マルチプラットフォーム言語」をうたっており、Haxe で書いたものは AS3 や Javascript 等に変換する事が可能です。
ゲームでは 例えばボードゲームの AI 部分等、どの言語で書こうともアルゴリズムの内容は一緒であり、AS3 と Javascript で二度 AI 処理を書く手間を Haxe なら一度で済みます。更に、FDT の Haxe エディタ機能が優れたものであるならば、処理共通部分はおろかビューを操作する部分まで Haxe で開発できるのではなかろうか、とも考えました。
使用結果
FDT の Haxe エディタ機能を利用してみたところ、上記前提の考えはやや微妙である事がわかりました。FDT の Astion Script エディタ機能が大変優れたものであるのに対し、Haxe エディタ機能はそこまで優れた内容のものではありませんでした。
現在の FDT の Haxe Support 状況は以下となっています。
http://fdt.powerflasher.com/docs/An_Overview_of_haXe_%26_FDT
Refactor (Rename, Move)機能が存在しない、というのが一番のネックかもしれません。
Haxe を用いて AS3 と Javascript 両開発を同時に行うよりも、FDT の AS3 エディタ機能をフル活用して開発を進め、AS3 での開発完了後 Javascript に移植する、といった手順をとったほうがよい場面が多そうです。小規模の開発ならば、活用できる場面もでてくるかもしれません。
Javascript 単体開発用としては優れている
現状の FDT の Haxe エディタ機能は、AS3, Javascript 同時並行開発手段としては微妙かもしれません。しかし Javascript 単体の開発手段としては、他と比べて優れているものと思われます。エラーチェック ライブビュー機能・パッケージ切り分け・継承記述の分かりやすさ等々、素晴らしい機能でいっぱいです。
AS3 で開発したものを Javascript に移植する際、この Javascript 移植作業箇所を Haxe で開発する、といった手法がベターかと感じました。
まだちょっと試してみた感想なので、使い方等 誤っている箇所があるかもしれません。今後少しずつ使っていき、活用できそうな場面を増やしていきたいと思います。