Kotlin 2.0.0: 何が新しいのか?
Kotlin 2.0.0のリリースは、JetBrainsにとって重要なマイルストーンであり、安定版Kotlin K2コンパイラの導入と、性能、機能、開発者の体験を向上させる多くの改善をもたらしました。
主な特徴と改善点
Kotlin K2コンパイラ
Kotlin K2コンパイラが安定版となり、JVM、ネイティブ、Wasm、およびJSのすべてのターゲットプラットフォームでデフォルトとなりました。これにより、大幅なパフォーマンス向上、プラットフォームサポートの統一、マルチプラットフォームプロジェクトのためのより良いアーキテクチャが提供されます。安定化プロセスには18,000人以上の開発者と80,000プロジェクトが関与し、その堅牢性が確保されました。
IDEサポート
Kotlin 2.0.0プラグインは最新バージョンのIntelliJ IDEAおよびAndroid Studioにバンドルされており、手動でのプラグイン更新が不要となりました。ビルドスクリプトをKotlin 2.0.0に更新するだけで使用できます。
スマートキャストの改善
K2コンパイラはスマートキャスト機能を強化しました:
ローカル変数とさらなるスコープ:条件内でnullでないと評価された変数は、スコープ全体でスマートキャスト情報を保持します。
論理OR演算子:スマートキャストは`Any`型にデフォルトするのではなく、最も近い共通のスーパータイプを対象とします。
インライン関数:暗黙的に`callsInPlace`契約を持つと見なされ、キャプチャされた変数の安全なスマートキャストが可能になります。
関数型のプロパティ:これらのプロパティがスマートキャストされないバグが修正されました。
例外処理:スマートキャスト情報は`catch`および`finally`ブロック内でも維持されます。
インクリメントおよびデクリメント演算子:これらの演算子使用後の型変化を正確に追跡します。
Kotlinマルチプラットフォームの改善
Kotlinマルチプラットフォームプロジェクトのためのいくつかの改善が行われました:
共通ソースとプラットフォームソースの分離:コンパイル中の厳密な分離を保証し、アクセス問題を防ぎ、プラットフォーム間で一貫した動作を維持します。
可視性レベル:expectedとactualの宣言は異なる可視性レベルを持つことができ、実際の宣言がより許容的である限り問題ありません。
その他の注目すべき機能
新しいComposeコンパイラGradleプラグイン
安定した`kotlinx-metadata-jvm`ライブラリ
Kotlin/NativeでのGCパフォーマンス監視
Kotlin/Wasmでの名前付きエクスポートサポート
`@JsExport`を使用する関数での符号なしプリミティブ型サポート(Kotlin/Wasm)
Binaryenを使用したデフォルトでの最適化されたプロダクションビルド
マルチプラットフォームプロジェクトにおけるコンパイラオプションの新しいGradle DSL
Enumクラスの値のジェネリック関数の安定した代替
安定した`AutoCloseable`インターフェース
結論
Kotlin 2.0.0は特にK2コンパイラの安定化により、大きな前進を遂げました。これらの進展は、様々なプラットフォームでKotlinを使用する開発者の生産性、パフォーマンス、および全体的な開発体験を向上させることを目的としています。
詳細については、公式Kotlin 2.0.0リリースノートを参照してください。
この記事が気に入ったらサポートをしてみませんか?