Kotlin
A concise multiplatform language developed by JetBrains
Kotlin 2.0 リリース記念: 高速、スマート、マルチプラットフォーム対応
この度、安定版 K2 コンパイラーを備えた Kotlin 2.0 をリリースすることになりました。このコンパイラーはマルチプラットフォームとしてゼロから開発されており、コードをより深く理解して 2 倍の速度でコンパイルすることが可能です。
Kotlin は JVM 言語として始まり、その簡潔さと安全性により、開発者をすぐに魅了しました。 AWS、Adobe、Atlassian、Google などの大手企業が採用し、サーバーサイドで急速に普及しています。 Kotlin は Android 開発の主要言語としても採用されるようになり、上位 1,000 タイトルに入る Android アプリのうち 95% が Kotlin コードを使用しています。
JetBrains は Kotlin Multiplatform(KMP)を導入することで Kotlin の限界をさらに押し広げ、サーバーサイド、ウェブ、デスクトップ、iOS、および Android の間でコードを共有できるようにしました。 Kotlin Multiplatform の人気は急上昇し始めており、このテクノロジーは Forbes、Philips、Square、McDonald’s などの大手組織で大規模に採用されています。 さらに、Google はすでに独自のワークスペースアプリの開発に KMP を使用しており、ビジネスロジックの共有に KMP を使用することを公式に推奨しています。
Kotlin 2.0 は Kotlin の進化の過程における次のステップです。 では、詳しく見てみましょう!
ゼロから開発されたマルチプラットフォーム
このリリースでは K2 コンパイラーが導入されたことにより、すべてのコンパイラーバックエンドが多数のロジックを共有し、統一のパイプラインを使用できるようになったため、Kotlin がサポートするすべてのプラットフォームを統一できるようになりました。 その結果、ほとんどの機能、最適化、およびバグ修正をすべてのプラットフォームにまとめて実装できるようになったため、新しい言語機能の開発速度を大幅に高められます。 この新しいアーキテクチャでは、マルチプラットフォームプロジェクトのコンパイル時間をさらに改善することも可能です。
この新しいコンパイラーの導入により、コンパイル以外でも改善を実現できます。 チームはすでに、任意のホストからの KMP ライブラリの開発と公開や汎用 Kotlin ライブラリなどの待望の機能を含む次世代の KMP ライブラリ配布形式に積極的に取り組んでいます。 これによってマルチプラットフォームライブラリの開発が JVM ライブラリの開発と同程度に簡潔になり、KMP エコシステムをさらに拡大できるようになります。
Kotlin 2.0 は Compose Multiplatform プロジェクトのファーストパーティサポートも提供しています。 Compose Multiplatform に使用されている Jetpack Compose コンパイラーが Kotlin リポジトリにマージされ、Kotlin に同梱されるようになりました。
これらの更新は、今が Kotlin Multiplatform とコードを共有し始めるのに最適なタイミングであることを意味しています。
コンパイルの高速化
Kotlin 2.0 では新しいコンパイラーフロントエンドのおかげでコンパイル速度が向上し、場合によっては 2 倍になる可能性があります。 コンパイル速度はプロジェクトによってもう少し速かったり若干遅くなったりする可能性もありますが、全体的には以前の Kotlin バージョンよりも実際のプロジェクトのコンパイル時間が大幅に向上することを確認しています。 Kotlin 2.0 のパフォーマンスの改善については、詳細をご覧ください。
新しい K2 モード
改善されたのはコンパイル速度だけではありません。 現時点でアルファ段階にある IntelliJ IDEA の K2 モードは期待できる結果を出しています。 コードハイライトでは約 1.8 倍、IntelliJ IDEA Ultimate コードベースのコンパイルでは 1.5 倍の速度改善を確認していますが、今後もさらなる改善に努めていきます。 K2 モードが今後さらに安定し、コンパイルとハイライトの速度がより向上することを期待しています。
K2 モードは IntelliJ IEDA バージョン 2024.2 でベータステータスに到達する予定です。 その他にもいくつかの重要な IntelliJ IDEA 機能を提供する予定であり、2024 年末までには K2 モードをデフォルトで有効にする計画になっています。 ぜひお試しください!
よりスマートなコード解析とその他の機能
新しいコンパイラーは動作の一貫性が向上しており、コードをより深く理解し、よりスマートなスマートキャストを提供します。 長らく未解決となっていた問題も解決されたため、より堅牢なコードを書けるようになっています。 Kotlin 2.0 で導入されたすべての新機能については、以下で詳しく紹介しています。
安心して移行が可能に
JetBrains は自社とコミュニティの 40 件のプロジェクトで 1,000 万行のコードを対象とするテストを徹底的に実施し、Kotlin 2.0 へ円滑に移行できるようにしました。 18,000 人を超える開発者と多数の企業が 80,000 件のサーバーサイド、Android、およびマルチプラットフォームプロジェクトで K2 コンパイラーをテストし、貴重なフィードバックを提供してくださいました。 これらの取り組みのおかげで、Kotlin 2.0 は過去最高品質のリリースとなり、安全確実に移行できるようになっています。
Kotlin の未来
Kotlin 2.0 は Kotlin の未来を切り開きます。 この堅牢で高速な新しいマルチプラットフォームコンパイラーの導入により、言語開発における以下の主な分野に集中できるようになりました。
- 強力なデータフローフレームワークとデータクラスの改善によるデータ認識と分解
- コンテキストパラメーターや明示的なバッキングフィールドなどの機能による抽象化の強化
- 値クラスと不変性を使用した高パフォーマンスで分かりやすいコード
- オプトインメカニズムとシグネチャー管理によるライブラリ作成者のエクスペリエンス強化
これらの言語開発の方向性については、Kotlin の主任言語デザイナーである Mikhail Zarechenskiy が自ら詳しく説明しています。
Kotlin 2.0 は日常業務の生産性を大幅に向上させます。 さらに高速、スマート、かつ堅牢なコンパイラーを提供されているだけでなく、Kotlin Multiplatform プロジェクトのサポートもさらに強化されています。 Kotlin 開発者は単なるモダンで簡潔、かつ安全な言語を使用できるようになるだけではありません。 Ktor や Compose Multiplatform などの強力なフレームワークを備えた汎用的なエコシステムにアクセスできるようになり、Kotlin 2.0 と JetBrains IDE と組み合わせることで優れた開発者エクスペリエンスを得ることができます。あらゆるプラットフォームを対象に革新的でパフォーマンスに優れた信頼性の高いアプリケーションを制作できるようにもなります。 私たちはこれから皆さんが制作するものに大いに期待しております。 どうぞ引き続き開発をお楽しみください!
その他の文献
- Kotlin 2.0.0 の新機能
- K2 コンパイラー移行ガイド
- K2 コンパイラーへの道
- K2 コンパイラーのパフォーマンスのベンチマークとプロジェクトでのパフォーマンスの測定方法
- モバイル、ウェブ、サーバー、およびデスクトッププラットフォーム間でビジネスロジックを共有する Kotlin Multiplatform の Android サポート
- Jetpack Compose コンパイラーから Kotlin リポジトリへの移行
オリジナル(英語)ブログ投稿記事の作者: