Kotlin 1.9.0リリース。生成されるWebAssemblyのサイズが10分の1、K2コンパイラがβ版に
今回は「Kotlin 1.9.0リリース。生成されるWebAssemblyのサイズが10分の1、K2コンパイラがβ版に」についてご紹介します。
関連ワード (最新版、正式版、現時点等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
JetBrainsは、プログラミング言語Kotlinの最新版となる「Kotlin 1.9.0」正式リリースを発表しました。
The Kotlin 1.9.0 release is out and the K2 compiler for the JVM is now in Beta. This release contains new language features as well as improvements for Kotlin Multiplatform and Kotlin/Native. Here are some highlights from this release:
New Kotlin K2 compiler updates
…— Kotlin (@kotlin) July 6, 2023
KotlinはJavaVM言語として登場し、2017年にAndroidの正式な開発言語になったことで急速に注目度を高めました。
その後、iOSやWindowsアプリケーションの開発に対応するKotlin/Nativeや、サーバアプリケーションの開発に対応するKotlin/JVM、Webアプリケーションの開発に対応しJavaScriptを生成するKotlin/JSなどマルチプラットフォームに対応した言語への進化を進めてきました。
参考:iOS/Androidアプリのロジックコードを共有できる「Kotlin Multiplatform Mobile」がベータ公開
さらに今年(2023年)2月には、Kotlinで書かれたコードをWebAssemblyバイナリへとコンパイルする機能を備えた「Kotlin/Wasm」が、Kotlin 1.8.20ベータ版で搭載されました。
参考:KotlinからWebAssemblyバイナリを生成するコンパイラ搭載、「Kotlin/Wasm」が試験的プレビュー公開。Kotlin 1.8.20ベータ版で
ただし現時点でKotlin/Wasmを利用するには、WebAssemblyのガベージコレクション機能が要求されるため、Google ChromeもしくはFirefoxで開発者向けのフラグを操作してWebAssemblyのガベージコレクション機能を設定する必要があります。
WebAssemblyサイズが縮小
今回リリースされたKotlin 1.9.0では、Kotlin 1.8.2で搭載されたWebAssemblyバイナリの大きさが約10分の1にまで縮小されています。
下記はKotlin/Wasmの開発担当であるZalim Bashorov氏のツイートです。
Kotlin/Wasm size improvements are ready for your experiments. Give it a try!
1.9.0-Beta
= 3K
1.8.20
https://t.co/08eYoEnf3L— zalim (@bashorov) May 24, 2023
K2コンパイラがベータに
Kotlin 1.9.0ではまた、現在開発中の「K2コンパイラ」がベータ版になりました。
K2コンパイラは、安定性やパフォーマンス向上を目的とした次世代のコンパイラとして開発されており、IR(中間表現)を新たに用いるようにすることで、さまざまなプラットフォームで最適化やロジックが共有できるようになるという将来性や拡張性が期待されています。
K2コンパイラが正式版になるタイミングで、Kotlinもバージョン2.0になる予定とされています。