iOS/Androidアプリ開発環境続き
津路です。2回目の投稿です。
前回で残してしまった、Macでの開発環境と、クロスプラットフォームでの開発環境を述べていきます。
- XCode
- 長所
- メモリ使用量が、Windows環境のIDEよりも少なく、軽い方
IDE 200MB, Qiita.com 200MB, Lldp-rpc-server 340MB, Simulator service 80MB - Objective-C/Swiftどちらでも開発できる。XMLは書いてくれる。
- パフォーマンス、エディタ機能、デバッグ機能の充実
- ディスク使用量:5.3GB
- メモリ使用量が、Windows環境のIDEよりも少なく、軽い方
- 短所
- エミュレータ起動時間: 6分ほど
- 日本語なし。パッチ、プラグイン不可。
- 長所
- Visual Studio 2017 Windows版
前回の記事で取り上げた表の中で、Android/iOS/WindowsPhoneの列は、クロスプラットフォーム開発環境のことで、一つのIDEのソリューションの中で、それぞれをターゲットにしたプロジェクトを作成できるという優れものです。
その目的で、MicrosoftはXamarin Studioを取り込んだとのことです。- 使用量
- メモリ:IDE:243MB, エミュレータ:1GB
- ディスク:VS2017 4GB
Android 11.4GB
Xamarin 187MB
System image 1.3GB, User image 2GB
- 長所
- Xamarin Studioを取り込み、C#のみでクロスプラットフォームアプリを開発できます。
- Xamarin.Formsにて、Android/iOS/Windows Phone対象のアプリのGUIを同時に作成できます。
- ネイティブAPIにアクセスできます。カバー率100%
- .NET Frameworkとの高い互換性があります。
- これだけ高機能なのに、メモリ使用量はAndroid Studioより少ないです。
- ソースコードも、共有部分を増やせば労力が省けます。
- テストや配布、メンテナンス、リリースなどに他のツールがいらない。
- 短所
- 起動時間:最初は時間がかかるが、日数が経過するとIDEは数秒です。が、シミュレーターは毎回時間がかかります。
- Macとの接続:6分、iOSデバッグ開始11分。iOSの場合は、Storyboardを表示するだけでMacとの接続を確立しなければなりません。
- オープンソースライブラリは、サポートされているものしか使えないらしい
- ソースコード共有可能率は高くて90%程度なので、OSや端末特有に対応するには、従来のJava, Objective-C/Swiftなども必要
- 凝ったゲームなどアニメーションなどには不向き
- 結果としてできるapkが従来の2倍のサイズ(Hello Worldが16MB)
- パフォーマンスの点で、ネイティブ環境には劣る
- 使用量
- Visual Studio for Mac
Xamarin Studioの上にVisual Studio機能をかぶせたもの
こちらもクロスプラットフォーム対象開発環境です。- 長所
- Windows版より簡易なGUIで、Android, iOS双方のプロジェクトを作成できる。
- エディタ機能、デバッグ機能も遜色ないようです。
- Windows版とのプロジェクト互換性あり。
- 短所
- XCode9以上が必要
- 長所
- 比較した結果
さて、どれを選ぶかですが、アプリの目的と内容、用途などによって、選択することになるのではないかと考えます。- 凝ったゲームを作ったり、外部デバイスを接続があったりする場合は、ネイティブ環境のほうが優れていると思います。
- インターネット通信はあるものの、それほど見た目にこだわらないアプリであれば、大方はVisual Studio+XCodeで済んでしまうでしょう。ただし、端末特有の対応などには、更に従来の言語での対応が必要になりそうです。
- オープンソースライブラリなど資産を活用するには、ネイティブ環境からの呼び出しのほうが簡易でしょう。