Corona SDKのメリットとデメリット


いまさらですが、Corona SDKのメリットとデメリットについて書いてみたいと思います。

 

メリットとデメリット

まずはざっとだけ、私の考えるCorona SDKについて箇条書きで挙げてみます。

メリット

  • 導入が簡単
  • マルチプラットフォーム
  • IDEが必要ない
  • 無料で利用できる

デメリット

  • 汎用デザインの作り込みが難しい
  • UIを作るためのグラフィカルなエディタがない
  • Luaであること

 

それでは1つずつ見ていきます。

導入が簡単

Corona SDKは無料のユーザー登録を行って、SDKをダウンロードするだけで、開発が始められます。

エディタは特に選ばず、一応公式でおすすめしているのがSublime Textです。

iOS、Androidともにエミュレーターがついているため、基本機能のテストはこれで十分です。

 

ビルドについてもSDKからボタン1つでできるので、リリースの方法さえ知っていれば、他の技術とやり方は変わりません。

 

マルチプラットフォーム

いくつか意味がありますが、まずは開発環境から。

WinodowsでもMacでも動作します。

Linuxでは動作しませんが、多くの開発者が上記の2つに分かれると思うので許容範囲でしょう。

 

次に開発できるアプリの種類について。

ハイブリッドをうたっているので、Android、iOSはもちろん、近年ではデスクトップアプリのビルドも可能になっています。

 

他にもKindle向けにもビルドができたりなど、Corona SDKが使いこなせればリリースできるプラットフォームについては有利になるでしょう。

 

IDEが必要ない

慣れたエンジニアが苦痛を覚えるのが、開発するものによってIDEが縛られてしまうことです。

Apple製品のアプリを開発するにはXcodeが必須ですし、AndroidだとAndroid StudioかEclipseです。

 

その点、Corona SDKはLuaを利用しますので、エディタを問いません。

ファイルを保存すれば即時リロードされるため、コンパイルして実行の時間もなく、初心者にもお勧めできるところではあります。

 

無料で利用できる

いろんな技術が出てきて、プログラミングの垣根が低くなりました。

私もそんな中でプログラミングを覚えた一人です。

 

Corona SDKではほぼすべての機能が無料で、ある機能が解放されないからリリースできないということはまずないと思います。

 

唯一、最近導入されたスプラッシュ(起動時のアニメーション)がCorona SDKのものに変わるようになり、これを独自のものに差し替える(もしくは表示しない)には年間1万円ほどのサブスクリプションが必要です。

 

それも、Corona SDKの宣伝を気にしないのであれば、そのままリリースしても構いません。

 

我々開発者はコミュニティの恩恵に預かっているので、そのような使い方もありだと思います。

 

次にデメリットについてです。

汎用デザインの作り込みが難しい

AndroidもiOSも推奨のデザインがあります。

Googleだとマテリアルデザイン、iOSでもシンプルさを意識したUI設計を基本としています。

Corona SDKにはUIを作るための仕組みが最低限しかないため、どのようなアプリを作るにしても一からUIを作りこまなければなりません。

各プラットフォームに準拠したUI、UXを用意しようとすると大変で、何のためにCorona SDKで楽しようとしているのかわからなくなります。

ネイティブっぽいものを作りたいのであれば、残念ながら、ネイティブの技術で作るべきです。

もしくは、ionicのようなデフォルトで使いやすいUIを用意している技術を採用すべきです。

つまりCorona SDKの位置付けはあくまでゲーム開発だと思われます。

汎用性のある見やすいUIではなく、唯一無二のそのアプリのためだけの素材を用意して作りこまなければなりません。

 

最初はいろいろと動くだけで楽しいですが、本気で何かを作りたいのであれば、以外と手間隙がかかることを覚悟しましょう。

 

UIを作るためのグラフィカルなエディタがない

先ほどのデメリットと被りますが、UIは自分で作りこむことになります。

Xcodeだとstoryboardを利用したUIの設定が可能ですが、Corona SDKではすべてコードで記述します。

 

ちょっとした微調整で画像の位置を動かすとしても、ファイルを保存してリロードして確認なります。

 

画面数が多いアプリだと最初に戻され、確認したい画面まで移動して・・ということを繰り返します。

 

Corona SDKで頻繁に開発をしていくなら、まずは自分専用のデバッグツールが必要になるでしょう。

 

そういった部分も含めてやっているける人には楽しいですが、すべて揃った状態で参考書籍を見ながら開発、といった感じにはいきません。

 

Luaであること

私はLuaが好きですが、Luaであることに抵抗がある人もいるでしょう。

Luaはゲームの組み込み開発ではメジャーだそうですが、プログラマ人口の割合で言うとマイナーです。

基本的に1つ言語を習熟すれば、他の言語の学習は楽になりますが、Luaという言語が他の技術であまり使われないので敬遠されるかもしれません。

(Cとかを使う組み込みの現場だと使われるのかな?)

 

またLuaはシンプル・イズ・ベストな言語で、組み込みのライブラリが最低限です。

よく使う処理は自分でモジュール化するなどの工夫が要ります。

LuaにもLua Rocksのようなライブラリ管理ツールがありますが、Corona SDKでは利用できません。

 

またCorona SDKのLuaのバージョンは5.1で、影響を感じることはありませんが、最新のLuaではないことにも留意しなければなりません。

 

まとめ

長たらしく書きましたが、ぱっと思いついただけでこれだけありました。

Corona SDKの開発は早いのか?という質問されれば、Yesとも言えるし、Noとも言えると答えるでしょうか。

明らかにモックアップを作りは向いていません。

ネイティブっぽいアプリも作るだけなら遅いです。

 

ただ開発手法や環境に囚われないため、オレオレなコードでも仕組みを理解していれば動きますので、慣れると、とてつもないスピードで開発できるかもしれません。(慣れについてはどの技術でも同じかもですが)

 

2Dゲームを作りたい!というのであれば、オススメします。

個人的にはUnityやCocosよりはずっと取っつきやすいと感じました。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です