ActionScript開発に必要な基本的なライブラリとツール群のまとめ
今年は、クライアントサイドも書けるようにするために、ActionScriptのほうを初めてみることにしました。そこで、昨日は1日ActionScriptを書きながら、開発で必要になるベーシックなライブラリやツール群を調べていました。作り方含めて大分わかってきたのでまとめてみます。
共通ライブラリ群
作るときにはあると便利な共通で必要となるユーティリティ系のライブラリ群をまとめます。物理計算、3D系は色々とまとめられている方がいるので、今回はそれについては割愛します。
ユーティリティ系ライブラリ
- as3corelib
- 色々と。ベースはこれで十分。
- as3commons
- http://www.as3commons.org/
- Javaのcommons系のライブラリのport。
- logging, String, Collection
- reflection周り
- as3ds
非同期処理系ライブラリ
至る所でcallbackが必要になるので、AS3では非同期処理をSequencialに書けるライブラリを使わないと、アプリケーションはすぐにスパゲッティコードになります。masudaさんのエントリで参考に幾つか触ってみましたが、「voldement Chain」はとても使いやすく感じました。コード量も短くとても見通しよくコードが書けます。
状態管理系のライブラリ
ゲームなどを含め、状態管理が必要になる場面がactionscriptで書くときには多いので、FSMを扱えるライブラリはないとコードがすぐにスパゲッティになる感じがします。ただ、FSMを扱うライブラリは少し探した感じないので、作ろうかなと思ってます。
デバッグ
デバッグ時に使えるツール群です。
- ロギング
- secondlifeさんのlog.asは使い易い
- Thnderboltも使ってみましたが、デバッグ用途であればlog.asのほうがsimpleでいいかなと。
- Dumper でDump
- PerlでいうData::Dumper
- http://www.libspark.org/wiki/dealforest/Dumper
- メモリ、FPS周り
- SWFProfilerで、メモリ使用量とFPSのチェック
- MonsterDebuggerでプロファイル
ビルドとテストは、まだ少ししか試してないので検討が必要ですが、Hudsonとの連携も含めて、mavenでいいかなという気がしてます。
ビルド
- maven
- HudsonでCIすること考えると、maven で良いかも。SWC, asdoc,
- http://flexmojos.sonatype.org/
- プロジェクト開始時のstarterとしても、mavenでいいかも。
- その他の選択肢としては、ant, airakeなどがありますが、一長一短です。
テスト
- FlexUnit
- maven, Hudsonとの連携という点も含めて考えるとFlexUnitが最有力の選択肢な気がしています。
- 他には、Spark制as3unitが選択肢でしょうか。