Androidの開発にはIntelliJでも良いじゃんと気づいた話
IntelliJをインストールしていながらもAndroid Studioを使っていたが IntelliJでAndroidプロジェクトを読み込んでみたら、Android Studioと全く同じように開発できた。
そして、上位互換だった。そんな話。
社会人になってからの職歴とエディタ歴は
- IntelliJ : 1年サーバーサイド(Spring, Java)
- Vim, Xcode, Android Studio : 2年フロントエンド(Cocos2d-x, C++)
- Android Studio : 2ヶ月フロントエンド(Android, Kotlin)
ざっくりこんな感じ。
IntelliJに1年だけデビューしておき、その後は惰性でアップデートしていたので損してたな〜。
Android StudioはIntelliJの若干古いバージョンがベースとなって無料配布されているだけ
Android Studio2.2はIntelliJ IDEA 2016.2がベースとなっている。
Constraints Layoutは2016.2ベースのAndroid2.2に含まれているのに対し、2016.3の機能となっている。
メリット/デメリット
メリット: Kotlinの最新の機能がいち早く使える
ちょっとしたメリット. どっちも持ってるならIntelliJを使うという選択をすべき。
What's New in IntelliJ IDEA - 2021.3
上記の2016.3 whats newにも記載されていますがKotlinのPostfix Completionが先行して使えるようになっている。
Postfix Completionというのは以下のGIFのようなコード補完機能です
いわゆるLiveTemplateをその変数にスコープを絞った機能といった所。
以下のGIFはLiveTemplateで同じコードを書いた場合。変数を絞り込んでいく手間を感じる。
ちなみに、Android Studio 2.2ではまだ使えない
上記の記事によると
Note that the feature depends on platform changes made in IntelliJ IDEA 2016.2 and is therefore unavailable in Android Studio 2.2;
ということで、Android Studio 2.2ではこの恩恵を授かれない。LiveTemplateは使える。
もちろん、IDEとしての機能はIntelliJを使ったほうが先に使えるので、そのアドバンテージはあると思います。
デメリット: IntelliJのほうがAndroidの最新機能を使えるようになるのが遅いかも
Android Studi 2.2 Release
-> 2016/09/19 Release!
IntelliJ IDEA 2016.3 GA: Java 8 and ES6, Debugger and UI improvements, and a Ton More
-> 2016/11/22 Release
- IntelliJ 新機能(Android Studioのベースとなるバージョン)
- Android Studio(ここでAndroidの機能が追加)
- IntelliJ(IntelliJにAndroid Studioと同等の機能が追加される)
というアップデート順だとしたら、Androidの新機能が使えるようになるのは若干遅いかも?
Android Studioで試験的に導入してから、IntelliJに導入してるのだろうか。
Android StudioからIntelliJへの移行をするには?
Android SDKを設定する
Android Studioの設定からAndroid SDKのパスを設定する
Confiture
>Project Defaults
>Project Structure
これでAndroidプロジェクトが作成・ビルド可能になります。
見慣れた編集画面。
Kaptを使っている場合はgenerateStubsを有効化する
kapt { generateStubs true }
上記の設定を入れるだけで筆者の環境ではビルドできた。
before : 17sec after : 20sec
コンパイル時間が若干、長くなる。
参考:
qiita.com
IntelliJユーザーとAndroid Studioユーザーが共存できるのか?
できます。 Code Styleの設定ファイルなんかも、形式が同じなのでAndroid Studioの設定をExportしてIntelliJに読み込むとも可能