スマホアプリを自作するときのツール(unity,Monaca,Xcode)の比較・まとめ
こんばんは。ひろし@Y.C.LABです。
今日はこれまでアプリを制作するときに使ってきたツールを比較しようと思う。
今まで使ってきたツールは、unity、monaca、Xcodeの3つだ。備忘録も兼ねて、それらを比較検討していく。あくまで今まで使ってきた個人的な感想が大半なので、いやそれ違うっしょという場合はコメントください。
1.unity
unityは、ゲームエンジンである。ゲームエンジンというだけあって、ゲーム系のアプリに向いている。物理計算を行ってくれるから、物をぶつけたり、跳ね返したりという動作を入れたいときに便利だ。
使用する言語はC#が使えれば問題ない。
また、iOSとandroidの両方に対応しているため、一つのデータでiOS版とandroid版をビルドできるのがありがたい。
無料で使用できて、オフラインでも作業できるというのも特徴だ。
更に、ユーザーは多く、ググれば大抵のことは解決できるというのも大きなポイントだ。
アプリだけでなく、VRなんかも作れちゃうすごいソフト。
まとめると、動きのあるようなアプリでiOSとandroidの両方に対応させたいならunityを使うべし。
ただし、iOS版に最終的にビルドするにはXcodeが必要で、Macが必須となる点に注意が必要。つまり、iOS版アプリをビルドするというより、Xcodeにバトンパスって感じ。
ちなみにY.C.LABがリリースしているポストコレクションはunityで作成したものだ。
使用している機能としては、GPSの取得、外部サーバーとのAPIなど。
2.Monaca
Monacaは、クラウド型の開発ソフト。HTML5で記述できるため、ホームページを作るような感覚でアプリを作ることができる。
使用する言語は、HTML5、CSS、JavaScriptで、まさにホームページ作成といった感じだ。
また、MonacaはWindows環境からiOS版をビルドできるという特徴もある。
Google Chromeでは使えるが、IEでは使えないというロックな仕様ではあるが、ネットに繋がる環境にいれば、どのPCからでも作業できるというのが大きなポイント。
こちらも、ユーザーは多く、大抵のことはググれば解決する。
ホームページっぽいアプリに向いていて、Y.C.LABではHOWASがMonacaで制作したアプリとなる。
使用している機能としては、各種入力と端末へのデータの内部保存など。
3.Xcode
Xcodeは、MacでインストールできるiOS用のアプリ開発ソフトだ。
使用言語はSwiftとなり、専用言語であるが、C系の言語が使用できればなんとか使うことはできる。
特徴としては、iOS専用ということもあり、iPhoneやiPadでの実機さながらのシミュレーションができることだ。Macの中にiPhoneやiPadがそのまま入っているような感覚でデバッグを行うことができる。エミュレータみたいな感じ。
また、unityでは面倒だった、カメラロールへのアクセスが嘘のように簡単にできるなど、iPhoneの機能をフル活用したアプリを作ることができる。
当然だがandroidには対応できない。
Y.C.LABのアプリでは、最新のいちにちモノきろくがXcodeを使用して制作したアプリだ。
使用している機能は、バーコードの読み込みと写真を外部サーバへ送信など。
4.まとめ
3つのツールを紹介したが、どれが優れているというわけではなく、作りたいアプリに応じて最適なツールを使うのが効率的だと思う。ただ、言語が違うという点がややこしい。
また、データを保存したり、他のユーザと共有したりする場合には外部サーバとその中にデータベースがあると実装しやすいので、そこらへんの全体の設計なんかも重要になってくる。
ちなみに、以前も書いたが、いちにちモノきろくは、最初Monaca、次にunity、最後にXcodeで作ることとなったのだが、その経緯をそれぞれのツールの特徴とともに説明する。
まず、いちにちモノきろくはバーコードに写真をきろくするアプリだ。使う機能は自ずとバーコードの読み込みと写真の送信だ。
そこで当初はMonacaを使用してそれらの機能を実装したが、どうしてもバーコードの読み取り精度が悪く、用意されているツールの中身までいじることができずに、アップデートのタイミングでunityを使うこととなった。
ここで、先ほど述べたとおり、Monacaは動きや制御が必要なアプリには不向きというのを体感した。
次にunityでの実装で困ったのは、写真の送信だ。iPhone内部に保存されている写真にアクセスするのがめんどくさい。(できないわけではない)
そこで、写真を送信するところだけ、Safariを起動させてバトンタッチさせていたら、最近のアップデートのタイミングでAppleからリジェクトされた。どうやら、アプリの中で完結させろとのことで、webviewなんかを使って、アプリの中でビューアーを起動させると回避できる。が、なぜか写真を読み込ませることができずに断念。ついにXcodeへという流れで、最終的にはXcodeでバーコードの読み込みから写真の送信までを行っている。
以上なんとなく3つのツールの特徴がわかったような、わからなかったような、とりあえず文章が多いなという感じになってしまった。
他にもこんないいソフトあるぞ!とか、もうちょっとこのソフトについて教えてー!とかあったら是非コメントをお願いします。
ちなみに次はアプリにはしないで、ホームページ上で使うサービスを作ろうと企んでいます。乞うご期待。
最後に、アプリの開発で出てきた疑問などにワンコインで答えるサービスやっています。
アプリ作成の疑問・質問にワンコインで答えます スマホアプリを自作していて困った時にご利用ください。
ぜひご利用ください。