Y.C.LABの軌跡

夢を実現するために思いを書いていきます

スマホアプリを自作するときのツール(unity,Monaca,Xcode)の比較・まとめ

こんばんは。ひろし@Y.C.LABです。

 

今日はこれまでアプリを制作するときに使ってきたツールを比較しようと思う。

今まで使ってきたツールは、unity、monacaXcodeの3つだ。備忘録も兼ねて、それらを比較検討していく。あくまで今まで使ってきた個人的な感想が大半なので、いやそれ違うっしょという場合はコメントください。

 

f:id:yclab:20180509223903p:plain

 

1.unity

unityは、ゲームエンジンである。ゲームエンジンというだけあって、ゲーム系のアプリに向いている。物理計算を行ってくれるから、物をぶつけたり、跳ね返したりという動作を入れたいときに便利だ。

使用する言語はC#が使えれば問題ない。

また、iOSandroidの両方に対応しているため、一つのデータでiOS版とandroid版をビルドできるのがありがたい。

無料で使用できて、オフラインでも作業できるというのも特徴だ。

更に、ユーザーは多く、ググれば大抵のことは解決できるというのも大きなポイントだ。

アプリだけでなく、VRなんかも作れちゃうすごいソフト。

まとめると、動きのあるようなアプリでiOSandroidの両方に対応させたいならunityを使うべし。

ただし、iOS版に最終的にビルドするにはXcodeが必要で、Macが必須となる点に注意が必要。つまり、iOS版アプリをビルドするというより、Xcodeバトンパスって感じ。

ちなみにY.C.LABがリリースしているポストコレクションはunityで作成したものだ。

使用している機能としては、GPSの取得、外部サーバーとのAPIなど。

ポストコレクション

ポストコレクション

  • Hiroshi Sato
  • 旅行
  • 無料

 

2.Monaca

Monacaは、クラウド型の開発ソフト。HTML5で記述できるため、ホームページを作るような感覚でアプリを作ることができる。

使用する言語は、HTML5CSSJavaScriptで、まさにホームページ作成といった感じだ。

また、MonacaWindows環境からiOS版をビルドできるという特徴もある。

Google Chromeでは使えるが、IEでは使えないというロックな仕様ではあるが、ネットに繋がる環境にいれば、どのPCからでも作業できるというのが大きなポイント。

こちらも、ユーザーは多く、大抵のことはググれば解決する。

ホームページっぽいアプリに向いていて、Y.C.LABではHOWASがMonacaで制作したアプリとなる。

使用している機能としては、各種入力と端末へのデータの内部保存など。

HOWAS

HOWAS

  • Hiroshi Sato
  • ライフスタイル
  • 無料

 

3.Xcode

Xcodeは、MacでインストールできるiOS用のアプリ開発ソフトだ。

使用言語はSwiftとなり、専用言語であるが、C系の言語が使用できればなんとか使うことはできる。

特徴としては、iOS専用ということもあり、iPhoneiPadでの実機さながらのシミュレーションができることだ。Macの中にiPhoneiPadがそのまま入っているような感覚でデバッグを行うことができる。エミュレータみたいな感じ。

また、unityでは面倒だった、カメラロールへのアクセスが嘘のように簡単にできるなど、iPhoneの機能をフル活用したアプリを作ることができる。

当然だがandroidには対応できない。

Y.C.LABのアプリでは、最新のいちにちモノきろくがXcodeを使用して制作したアプリだ。

使用している機能は、バーコードの読み込みと写真を外部サーバへ送信など。

いちにちモノきろく

いちにちモノきろく

  • Hiroshi Sato
  • 写真/ビデオ
  • 無料

 

4.まとめ

3つのツールを紹介したが、どれが優れているというわけではなく、作りたいアプリに応じて最適なツールを使うのが効率的だと思う。ただ、言語が違うという点がややこしい。

また、データを保存したり、他のユーザと共有したりする場合には外部サーバとその中にデータベースがあると実装しやすいので、そこらへんの全体の設計なんかも重要になってくる。

ちなみに、以前も書いたが、いちにちモノきろくは、最初Monaca、次にunity、最後にXcodeで作ることとなったのだが、その経緯をそれぞれのツールの特徴とともに説明する。

 

まず、いちにちモノきろくはバーコードに写真をきろくするアプリだ。使う機能は自ずとバーコードの読み込みと写真の送信だ。

そこで当初はMonacaを使用してそれらの機能を実装したが、どうしてもバーコードの読み取り精度が悪く、用意されているツールの中身までいじることができずに、アップデートのタイミングでunityを使うこととなった。

ここで、先ほど述べたとおり、Monacaは動きや制御が必要なアプリには不向きというのを体感した。

 

次にunityでの実装で困ったのは、写真の送信だ。iPhone内部に保存されている写真にアクセスするのがめんどくさい。(できないわけではない)

そこで、写真を送信するところだけ、Safariを起動させてバトンタッチさせていたら、最近のアップデートのタイミングでAppleからリジェクトされた。どうやら、アプリの中で完結させろとのことで、webviewなんかを使って、アプリの中でビューアーを起動させると回避できる。が、なぜか写真を読み込ませることができずに断念。ついにXcodeへという流れで、最終的にはXcodeでバーコードの読み込みから写真の送信までを行っている。

 

以上なんとなく3つのツールの特徴がわかったような、わからなかったような、とりあえず文章が多いなという感じになってしまった。

他にもこんないいソフトあるぞ!とか、もうちょっとこのソフトについて教えてー!とかあったら是非コメントをお願いします。

 

ちなみに次はアプリにはしないで、ホームページ上で使うサービスを作ろうと企んでいます。乞うご期待。

 

最後に、アプリの開発で出てきた疑問などにワンコインで答えるサービスやっています。

アプリ作成の疑問・質問にワンコインで答えます スマホアプリを自作していて困った時にご利用ください。

ぜひご利用ください。