検索
ニュース

Kotlinチーム、プログラミング言語「Kotlin 1.8.20」を公開 WebAssemblyバイナリを生成する「Kotlin/Wasm」のα版が利用可能に実験的機能を正式公開、ビルド速度向上など

Kotlinチームは、プログラミング言語「Kotlin」の最新版となるバージョン1.8.20を公開した。

Share
Tweet
LINE
Hatena

 Kotlinチームは2023年4月3日(米国時間)、プログラミング言語「Kotlin」の最新版となるバージョン1.8.20を公開した。

 Kotlin 1.8.20では、言語、標準ライブラリ、コンパイラの機能が追加、改善された。パフォーマンス向上、ドキュメントの拡充も実施されている。

Kotlin 1.8.20の主な変更点

「Kotlin K2」のα版を提供開始

 次世代コンパイラとして開発が進められている「Kotlin K2」コンパイラのα版が同梱され、テストできるようになった。Kotlin K2コンパイラを有効化するには、新しい言語バージョンをオプションとして指定するか、build.gradle(.kts)ファイルで指定する必要がある。

-language-version 2.0
kotlin {
   sourceSets.all {
       languageSettings {
           languageVersion = "2.0"
       }
   }
}

「Kotlin/Wasm」(Kotlin WebAssembly)を実験的機能として提供開始

 WebAssemblyは、Web(およびWeb以外の)プラットフォームを対象とした、サイズとロード時間の両面での効率性を高めるバイナリフォーマットだ。Kotlinチームは、Kotlinで記述されたコードをWebAssemblyバイナリとしてコンパイルできる「Kotlin/Wasm」を実験的機能として追加した。これにより、Kotlinを利用してパフォーマンスに優れるWebアプリケーションやサーバレス機能を開発するなど、Kotlinの活用対象が広がるとしている。

 一方、Kotlinでは、LLVMを活用してさまざまなプラットフォームで利用できるバイナリに変換する「Kotlin/Native」も提供している。Kotlinチームは、Kotlin/Wasmの利点として、LLVMを利用する必要がなくなるため、Kotlin/Nativeよりもコンパイル速度が速く、JavaScriptとの相互運用やブラウザとの連携が容易になるとしている。

 Kotlin/Wasmを利用するには、build.gradle(.kts)ファイルで以下のように有効化する必要がある。またKotlin/Wasmで生成したバイナリを実行するには、Google Chrome、Firefox、Microsoft Edgeの設定を変更する必要もある。

plugins {
    kotlin("multiplatform") version "1.8.20-RC2"
}
kotlin {
    wasm {
        binaries.executable()
        browser {
        }
    }
    sourceSets {
        val commonMain by getting
        val commonTest by getting {
            dependencies {
                implementation(kotlin("test"))
            }
        }
        val wasmMain by getting
        val wasmTest by getting
    }
}

Kotlin/Nativeコンパイラの一部サポートを終了

 Kotlin/Nativeコンパイラで対象としていた以下のプラットフォームが非推奨となった。バージョン1.9.20で削除される予定だ。

  • iosArm32
  • watchosX86
  • wasm32
  • mingwX86
  • linuxArm32Hfp
  • linuxMips32
  • linuxMipsel32

AutoCloseableインタフェースとBase64エンコーディングを標準ライブラリに追加

 AutoCloseableインタフェースおよびBase64のエンコードとデコードが実験的機能として追加された。

Gradleのインクリメンタルコンパイルがデフォルトに

 GradleのJVMバックエンドのみで利用可能だったインクリメンタルコンパイル(変更した部分のみを再度コンパイルする方式)がデフォルトで動作する。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る