Kotlin バージョン1.3から1.4での変更点
相対的に新しい言語であるKotlinは今でも変化のスピードが速い。1.4.0のリリースが2020年8月17日。2021年4月21日の時点でAndroid Studio 4.1のKotlinプラグインの利用する最新のバージョンは1.4.32である。1年足らずで30回以上の修正が行われた。多くの書籍や学習動画が1.3に基づいているので1.4で変化したところをチェックしておく必要を感じた。
本家サイトの中の互換性ドキュメント
Kotlin言語の本家サイトの中で、互換性についてhttps://kotlinlang.org/docs/compatibility-guide-14.htmlにまとめてある。
開発者がまず注意すべきなのはソースレベルにおける1.3までと1.4からの差異だろう。今まで問題なくコンパイルが通っていたものが通らなくなる変更点だ。それは言語自体とJVM、標準ライブラリーで27個もある。
Core Language: 16
Kotlin/JVM: 6
kotlin-stdlib: 5
Android StudioのKotlinプラグインのバージョンを1.4.xに変えてコンパイルに失敗するようになったら上記の互換性の変更点のページをチェックするとよい。
1.3.xまでと振る舞いが変わったものも16あるので、Kotlinプラグインのバージョンを1.4.xに変えると振る舞いが変わるバグ(仕様)を見出したら同ページを確認すべきだろう。
まとめ(対策)
まだ成長途上のKotlinは言語そのものも改修される頻度が高いので、大きな変更がないか日頃からチェックする必要がある。
プロジェクトのbuild.gradleで規定するext.kotlin_version変数は開発開始からリリースまでの開発サイクル内では変更しないのが普通だろう。一旦リリースが完了して次期開発を始めるタイミングで最新にするのだ。その時、コンパイルが通らなくなったり、振る舞いが変わったら本家サイトの中の互換性ドキュメントを参照することになる。
モバイル開発はOSも開発言語も更新の頻度が高い。だから常に最新のものをチェックし続ける必要がある。これは避けようがないので開発者は大変だ。