iOS/Androidアプリ開発環境
はじめまして、スタッフの津路と申します。よろしくお願いします。
現在、当社では一つの設計内容で、iOS/Android双方のアプリを開発しております。
その前に、従来のアプリ開発環境ではかなわなかった統一環境を目指し、一人の技術者がさまざまな環境をターゲットにしたアプリを容易に開発できるような環境がないか、調査を実施しました。
私自身、Androidアプリを中心に開発しておりましたため、iOSではCandy Crashなどのゲームをどのように開発されているのかなと想像していたところです。一人で作るとなると、ツールと言語に慣れていないと時間がかかってしまいます。移植に労力がかかるわけです。
まずは、IDEと言語の列挙から始めました。
Android | iOS | Android/iOS/Windows Phone | Android/iOS | |||
Eclipse | XCode | Visual Studio with Xamarin Studio | Hybrid | |||
Java | Objective-C, Swift | C# | HTML+CSS+JavaScript |
それぞれについて、以降詳細に記述していきます。
- Eclipse
- ADT(主となるツール)がGoogleによって、サポート切れとなっているため、2015年末以降のバージョンに対応できません。
- エミュレータ以外は使い勝手が良かったので、残念です。Android以外のJava,PHP等での開発には今後も役立っていくでしょう。
- Android Studio
- 長所
- Intel HAXMによりエミュレータ動作が早い、3.0で更にアップ
- 言語はJava, Kontlin
- Gradleにてビルド(背後で動く、スクリプトを編集できるが、基本的にユーザは設定を変えるだけ)
- プロファイリング・ツールがあり、アプリの統計を取れる
- Proguardでソース難読化可能
- デフォルトのレポジトリ:Google Repository
- 短所
- ディスクとメモリを消費し、メモリ4GB環境では重すぎます。
ディスク使用量:Studio, NDK環境を含め、インストール初期でも11GB
システムイメージ2GB以上
メモリ:1GB程度
CPU: 起動時53%
起動時間:2分 - Android Studioのプロジェクトはモジュールで構成されているため、Eclipseのワークスペースとは、概念が違います。
- Gradleにビルドを任せているため、プロジェクト設定によく似た項目があり、ややこしい
- Power Save ModeをONにすると、コンパイルエラーがエディタで見えない。これは困ります。
- ディスクとメモリを消費し、メモリ4GB環境では重すぎます。
- 長所
- Hybrid
例:PhoneGap, Cordova, Ionic Framework, Appcelarator, Titanius Mobileなど- 長所
- HTML5+CSS+Javascriptであらゆるプラットフォーム対応のアプリを開発可能
- 開発スピードが早い、プラットフォーム間でコード100%共有できるらしい
- 短所
- どの機能を使えるかあらかじめ調査する必要がある、つまり使えない機能があるとあとでつまづく
- パフォーマンスの点で劣る
- 長所
以上、Hybrid型まで述べてきましたが、残りについては、次回とさせていただきます。