はじめに
本記事はKotlinConf '24のKeynoteを見てAndroid エンジニアの視点で記憶に残ったことの個人的メモになります。
KeynoteはYouTubeで視聴可能です。詳細はこちらをご覧ください。
200万人のデベロッパーが定期的にKotlinを書いている
Kotlin 2.0 正式リリース
Kotlin 2.0 は2倍高速
あっと言う間にビルドが終わるからコーヒーを飲んで休憩する時間はないよ!すまん!とのこと。
IntelliJ の K2 modeがまもなくBetaに到達
Kotlin 2.0へは安全に移行可能
自動テストやパートナー、コミュニティの協力によりKotlin 2.0を徹底的にテストした結果これまでで最も高品質なリリースになったとのこと。
Android関連のプラグインはKotlin 2.0に対応済み
- Android Lint
- Parcelize
- KSP (Kotlin Symbol Processing)
- Compose Compiler Plugin
- など
Compose Compiler PluginのリリースはKotlinのリリースと統合される
これまでKotlinのバージョンとCompose Compiler Pluginのバージョンをマッチさせる必要がありましたがKotlin 2.0から不要になるとのことです。
JetpackライブラリのKotlin Multiplatform対応
Lifecycle, ViewModelsに加えRoomもKotlin Multiplatformに対応するとのこと。
Direct Kotlin-to-Swift export
2024年のKotlin Multiplatformのロードマップでも示されていましたが、KotlinのコードからSwiftのコードを生成できるようになる?ようです。スタンドアローンツールとして提供されるとのこと。これまでのKotlin Multiplatformにはなかった方向性なので登場が楽しみですね。
Fleet
JetBrainsの次世代IDEであるFleetを使用するとKotlinとSwiftの行き来が容易になることが紹介されました。
Compose Multiplatformのプレビューも可能です。
Amper
ビルドツールのAmperも紹介されました。ビルド設定の記述が容易になるとのこと。
Kotlin Multiplatformで最大100%のコードベースを共有可能
Compose Multiplatform for iOS がベータに到達
Compose Compose Multiplafrom for Web がベータに到達
Kotlin に登場予定の新機能
Guards
whenのType guardが拡張されるとのこと。Kotlin 2.1でBetaで登場。
$-escaping problem
Multiline stringsにおいて$$"""
というシンタックスが追加されるとのこと。このとき$
はシンボルとして認識されるようになります。Kotlin 2.1でBetaで登場。
Non-local break/continue
break
とcontinue
がローカルでなくても使用可能になるとのこと。Kotlin 2.1でBetaで登場。
Context parameters(receivers)
Kotlin 2.2でBetaで登場。
Universal Klib
すべてのプラットフォームで利用可能なUniversal Klibが登場するとのこと。Kotlin 2.1でExperimentalサポート予定。
おまけ: Kodee
Keynoteの冒頭でKotlinのマスコットであるKodeeが登場しました。
会場では一緒に写真も撮れるようです。