スマフォのマルチプラットフォーム環境について調べたのでまとめました。
ゲーム系であれば昔からPlayStationとかXBOXとかWiiとかいろんなプラットフォームが存在していたのでマルチプラットフォームで作るという志向はもともとあったのですが言語は C++だけで問題なかったのでそれなりに対処しやすかったです。
しかしブラウザ、スマフォの時代になって言語から違うことになって状況が変わりました。スマフォが出始めた当初はできるだけC++で共通コードを使って一部をプラットフォームそれぞれに合わせて作る形を取っていました。
しかしiPhone3Gが出て8年が経過した最近では1つの開発環境から複数のプラットフォームのコードを出力して作る形に流れてきているようです。
そんなわけで開発環境を調べてみました。
かなりざっくりですみませんm(_ _)m
主な出力 プラットフォーム |
開発環境 | 言語 | 特徴 | |
Unity | Windows MacOSX iOS Android 他多数 |
Windows MacOSX |
C# JavaScript Boo |
主に3Dゲームを作るのに適している。 ある程度無料。 |
Cocos2Dx | Windows MacOSX iOS Android |
Windows MacOSX |
C++ Lua JavaScript |
ゲームに特化している。 オープンソース。 無料。 C++で作られているから早い。 |
Delphi | Windows MacOSX iOS Android |
Windows | Object Pascal C++ |
OSネイティブのAPIをサポート。すべてOpenGLでUIを描画。 |
caede | Windows iOS Android |
Eclipse Plugin | Curl | 画面が開発が得意。 価格が高い。 |
Monaca | Windows iOS Android |
Web (VisualStudio) |
HTML5 CSS JavaScript |
HTML5を元にネイティブアプリを制作。 VisualStudioでの開発環境がある。 |
Xamarin | iOS Android |
Windows MacOSX (VisualStudio) |
C# | フルネイティブなのでネイティブな部品そのものが出せる。 VisualStudioでの開発環境がある。 |
こう見るとUnityは突出してマルチプラットフォームを推し進めているのがよく分かる。それにたくさんマルチプラットフォームで開発できる環境が整ってきたという印象。
それぞれに特徴があるので、折合うところを探して使っていきたいです。