【Kotlin】KotlinConf’23 で気になったこと

## Keynote

https://blog.jetbrains.com/kotlin/2023/04/kotlinconf-2023-opening-keynote/

## Kotlin 2.0

* Kotlin 2.0 は Kotlin 1.9 の次にリリース

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/56635/b5d2efa7-f59f-8157-e4cd-e550fb240665.png)

* K2 Compiler が Stable に 

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/56635/540bbb11-1905-8e00-95d6-2bdca0b9cb0e.png)

* ボトルネックだった front-end の改善により、2倍高速に

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/56635/9a32a076-d042-9027-c59c-837b832db591.png)

## Kotlin 2.0 を試す

こちらの手順に沿って Kotlin 2.0 を試すことが可能です。

https://kotlinlang.org/docs/whatsnew-eap.html#new-kotlin-k2-compiler-updates

## Android Studio Giraffe から Kotlin DSL がデフォルトに

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/56635/3a65a11f-c882-6526-4ecd-364d43be1288.png)

オプションで Version Catalog も選択できるようです。

https://android-developers.googleblog.com/2023/04/kotlin-dsl-is-now-default-for-new-gradle-builds.html

## Google における Kotlin の活用

> それ以来、ほとんどの Android アプリは Kotlin で構築されています。利点の例として、Google Home チームが Kotlin に移行したとき、NullPointerExceptions が 33% 減少し、エンド ユーザー エクスペリエンスが大幅に向上しました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/56635/049de742-e9d9-5fa9-5a52-eef0707d5cef.png)

> ただし、Kotlin に対する Google の関心は Android アプリにとどまりません。Kotlin を作成するエンジニアの 45% 以上が、サーバー開発に Kotlin を使用しています。Google のソース管理システムには 1,500 万行を超える Kotlin コードがあり、これは年々倍増しています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/56635/683af063-c6f2-26b3-bfc9-541fe63fe0c5.png)

> 私たちはKotlin Multiplatformを実験しています。これには、Kotlin Multiplatform と Kotlin/Native を使用して、iOS 上で動作する Google ドキュメントのビジネス ロジックを備えたプロトタイプを持っている Google Workspace チームが含まれます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/56635/0327da94-4cdc-2759-a5ea-4a78d8ec4396.png)

https://developers.googleblog.com/2023/04/google-at-kotlinconf-23.html

## Kotlin の新機能

Kotlin 2.0 以降は、以下の待ち望まれた機能がリリース予定。

* [static extensions](https://youtrack.jetbrains.com/issue/KT-11968)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/56635/4c86ad3a-859a-60c2-7409-440c5e019ce3.png)

* [collection literals](https://youtrack.jetbrains.com/issue/KT-43871)

collection literals についてはこちらで詳しく紹介しています。

https://qiita.com/maxfie1d/items/69757b8a1163c5f7327f

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/56635/5b403de7-fe5e-0ee4-c2b2-810546b4e557.png)



* [name-based destructuring](https://youtrack.jetbrains.com/issue/KT-19627)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/56635/3bceae07-5fca-634d-dd65-9f8086fbf6eb.png)


* [context receivers](https://youtrack.jetbrains.com/issue/KT-10468/Context-receivers-multiple-receivers-on-extension-functions-properties)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/56635/bee0c87a-10ef-5c6f-0319-e872635fd361.png)


* [explicit fields](https://youtrack.jetbrains.com/issue/KT-14663)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/56635/81395e28-4edc-d2dd-b33d-08a058189e56.png)

## Compose Multiplatform が iOS に対応

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/56635/f9fcbca4-4545-74f4-f5e7-9c63c1ab0140.png)

https://github.com/JetBrains/compose-multiplatform#readme

## IntelliJ に統合された Kotlin Notebooks の最初のプレビュー版がまもなくリリース

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/56635/1948c73e-6983-816f-6bea-4a4f75bb2be2.png)

## 【更新】 全セッション動画が公開されました

https://www.youtube.com/watch?v=c4f4SCEYA5Q&list=PLlFc5cFwUnmwcJ7ZXyMmS70A9QFyUu1HI