はじめに
2017年のGoogle I/O で、Kotlinが正式に
Androidの開発言語として発表されました。
その導入の簡単さと、Javaとの親和性、
既存プロジェクトへの導入リスクの低さ、
可読性等々、感動する場面がたくさんあったので
ここにまとめていきたいと思います。
Kotlin?
なにそれ
KotlinはIntelliJを出しているJetBrainsが開発した
新しいオブジェクト指向プログラミング言語です
Javaと100%相互運用可能で、
後発言語のSwiftのような型推論やラムダ式が採用されていますが
Java開発者にすぐに受け入れられるよう設計されています。
メリット
既存のJavaプロジェクト(およびAndroidプロジェクト)と共存が可能
従来のソースはJava、一部のソースだけKotlinを採用、
なんてことも普通にできちゃいます。
また、プログラミング速度も個人的にはかなりブーストされるので
可動性も相まって、みんながハッピーになれる言語かと思います。
デメリット
思いついたら書きます。
ほんとに、ない。
導入
IntelliJとAndroidStudio、2つ紹介します
IntelliJ
最新のIntelliJでは必要ありません
設定 > Plugin > Install JetBrainsPlugin... > Kotlin
スクショはすでにInstall済みなのでUpdateと表示されていますが、
ここがInstallになっているのでInstallして再起動しましょう。
以上
AndroidStudio
Kotlinプラグイン導入
3.0からは必要ないそうです
IntelliJと同じです。
###プロジェクトに導入
プロジェクトを開いた後に
Tools > Kotlin > Configure Kotlin in Project
を選択すればOK
基本的には以上ですが、
ビルド時に自動生成するライブラリを使用している場合は
次のステップも必要です。
###kapt追加
これはOptionalです。
DataBindingなどのライブラリを使用している場合、
ビルド時に生成されるライブラリのクラスファイルを利用してプロジェクトをビルドしています。
これをKotlinでも利用するためには一工夫必要です。
アプリのgradleに以下を追加
今回はよく使う4つのライブラリの例を出してみました。
dependencies {
:
(省略)
:
// DataBinding
kapt "com.android.databinding:compiler:x.y.z"
// Orma
kapt "com.github.gfx.android.orma:orma-processor:x.y.z"
// Dagger2
kapt "com.google.dagger:dagger-compiler:x.y.z"
// Icepick
kapt 'frankiesardo:icepick-processor:x.y.z'
:
(省略)
:
}
kapt {
generateStubs = true
}
Kotlin変換
IntelliJやAndroidStudioを使っていると、
一発でJavaコードをKotlinコードへ変換できちゃいます。
やり方は非常に簡単。
Code > Convert Java File to Kotlin File
こんな長ったらしいコードが
一瞬でこんなことに