AndroidとiOSで同じ内容のアプリを作るのに別々にコードを書くとめんどくさいので、
write onceで済ませたい、といったときに取る方法。
1. WebViewを使って共通のHTML/JavaScriptをそれぞれから読み込む。
特にフレームワークを使わないやり方。
JavaScriptを多用すると画面が重くなります。
静的なHTMLかちょっとした動きしかない画面にしか向かない。
2. Titanium Mobile
http://www.appcelerator.com/platform/titanium-platform/
開発言語はJavaScript
ネイティブのバイナリを生成する・・みたいなんだけど、
やっぱりアニメーションごりごりには向いてない。
3. Phone Gap
http://phonegap-fan.com/
HTML5とJavaScriptを使ったWebViewベースのフレームワーク。
プラグインを作ればネイティブのAPIも叩ける。
4. enchant.js
http://enchantjs.com/ja/
JavaScriptで書かれたゲームライブラリ。
上記PhoneGap等と組み合わせることができる。
enchant.jsベースの開発環境としてenchant PROがある。
http://enchantjs.com/ja/enchant-pro/
これを用いることでenchant.jsからネイティブAPIを叩けるようになる。
5. Emo Framework
http://www.emo-framework.com/
現在開発停止中みたい・・
作者ブログによると現在はTitanium用ゲームエンジンを作っている模様。
http://d.hatena.ne.jp/infosia/
■とりあえずここまでの雑感。
基本的にWebViewでのJavaScriptを用いてのアニメーションが遅いせいで、
WebViewベースのフレームワークを使ってのゲーム開発は向いてない。
動きが激しいアプリを作るなら現行機種向けだとネイティブアプリじゃないと厳しい感。
6. Unity
http://unity3d.com/
マルチプラットホーム3Dゲームエンジン。
iOS/Android以外にもWindowsやWindows Phone用のアプリも書き出せる。
開発言語はUnityScript(JavaScript)、Boo(Python)、C#
恐らくBooが一番記述力が高いがドキュメントが少ない。
Free版とPro版(有料)がある。
最低限iOS/Android用に書き出すだけなら無料版でOK。
但し現行バージョンの4に限るのと、前年度の売上が10万ドル以内という条件がある。
Pro版とFree版の違いは以下参照。
http://japan.unity3d.com/unity/licenses
2Dゲームも作ろうと思えば作れる。
Asset Store(Unityのプラグイン等を販売するシステム)で2D用ライブラリが手に入る。
7. Project Anarchy
http://www.projectanarchy.com/jp
モバイル向けマルチプラットホーム3Dゲームエンジン。
開発言語はC++/Lua
先月(2013/06)リリースされたばかり。まだドキュメント少なめ。
Free版とPro版(有料)がある。
Free版でもAndroid/iOSには書き出せる。
8. Cocos2d-x
http://www.cocos2d-x.org/
オープンソースの2Dゲーム開発ライブラリ。
物理エンジン搭載。
iOS用の2Dゲーム開発ライブラリのCocos2dの後継。
開発言語はC++。
プロジェクトの初期設定がめんどい。
iOS版はXCode、Android版はEclipseで開発することになる。
9. Marmalade SDK
https://www.madewithmarmalade.com/sdk
クロスプラットフォーム対応のソフトウエア開発キット
10. Itoa Project
http://www.itoaproject.com/
iOSのバイナリからAndroidのバイナリを生成する。
「プロジェクトに貢献しないとPublishするためのライセンス発行しないよ。
将来的には商用ライセンスも作る。」
みたいなことが書いてあるけど実質今は開発停止中みたいなので
これ使ってアプリ作るのは無理みたい。
11. Apportable SDK
http://www.apportable.com/
iOSのバイナリをAndroidのバイナリに変換する。
Cocos2d(Cocos2d-xではない)で作られたゲームの変換実績があるらしい。
Free, Indie, Pro, Enterpriseの4つのライセンスがある。
Free版だとAndroid 4.0以降にしか書き出せない(Indie以上なら2.2以降)。
12. Flash
iOS上ではFlashが動かないと思われがちだが、
Adobe AIR上なら動きますよ!
勿論開発言語はActionScript。
クロスプラットホームの3Dゲームを作るならやはりUnityがシェア一番な感じ(?)