Kotlin/Native の利用を開始する
このチュートリアルでは、Kotlin/Native アプリケーションの作成方法を学びます。あなたにとって最適なツールを選択し、以下の方法でアプリを作成できます。
IDE。ここでは、バージョン管理システムからプロジェクトテンプレートをクローンし、IntelliJ IDEA で使用できます。
Gradle ビルドシステム。内部の仕組みをよりよく理解するために、プロジェクトのビルドファイルを手動で作成します。
コマンドラインツール。標準の Kotlin ディストリビューションの一部として提供される Kotlin/Native コンパイラを使用して、コマンドラインツールで直接アプリを作成できます。
コンソールでのコンパイルは簡単で分かりやすく見えるかもしれませんが、数百のファイルやライブラリを持つ大規模なプロジェクトには適していません。そのようなプロジェクトには、IDEまたはビルドシステムの使用をお勧めします。
Kotlin/Native では、Linux、macOS、Windows など、様々なターゲット向けにコンパイルできます。クロスプラットフォームコンパイル(あるプラットフォームを使用して別のプラットフォーム向けにコンパイルすること)は可能ですが、このチュートリアルでは、コンパイルしているのと同じプラットフォームをターゲットにします。
Mac を使用していて macOS またはその他の Apple ターゲット向けのアプリケーションを作成・実行したい場合は、Xcode Command Line Tools をインストールし、起動して、最初にライセンス条項に同意する必要があります。
IDE で
このセクションでは、IntelliJ IDEA を使用して Kotlin/Native アプリケーションを作成する方法を学びます。Community Edition と Ultimate Edition の両方を使用できます。
プロジェクトを作成する
IntelliJ IDEA の最新バージョンをダウンロードしてインストールします。
IntelliJ IDEA で File | New | Project from Version Control を選択し、以下のURLを使用してプロジェクトテンプレートをクローンします。
nonehttps://github.com/Kotlin/kmp-native-wizard
プロジェクトの依存関係のバージョンカタログである
gradle/libs.versions.toml
ファイルを開きます。Kotlin/Native アプリケーションを作成するには、Kotlin と同じバージョンの Kotlin Multiplatform Gradle プラグインが必要です。最新の Kotlin バージョンを使用していることを確認してください。none[versions] kotlin = "2.2.10"
提案に従って Gradle ファイルをリロードします。
これらの設定の詳細については、Multiplatform Gradle DSL リファレンスを参照してください。
アプリケーションをビルドして実行する
src/nativeMain/kotlin/
ディレクトリにある Main.kt
ファイルを開きます。
src
ディレクトリには Kotlin ソースファイルが含まれています。Main.kt
ファイルには、println()
関数を使用して "Hello, Kotlin/Native!" を出力するコードが含まれています。
ガターの緑色のアイコンを押してコードを実行します。
IntelliJ IDEA は Gradle タスクを使用してコードを実行し、結果をRunタブに出力します。
初回実行後、IDE は上部に該当する実行設定を作成します。
IntelliJ IDEA Ultimate ユーザーは、コンパイルされたネイティブ実行可能ファイルのデバッグを可能にし、インポートされた Kotlin/Native プロジェクトの実行設定を自動的に作成するNative Debugging Support プラグインをインストールできます。
IntelliJ IDEA を設定して、プロジェクトを自動的にビルドできます。
- Settings | Build, Execution, Deployment | Compiler に移動します。
- Compiler ページで、Build project automatically を選択します。
- 変更を適用します。
これで、クラスファイルに変更を加えるか、ファイルを保存する(/)と、IntelliJ IDEA はプロジェクトのインクリメンタルビルドを自動的に実行します。
アプリケーションを更新する
アプリケーションに、名前の文字数を数える機能を追加しましょう。
Main.kt
ファイルに、入力を読み取るコードを追加します。readln()
関数を使用して入力値を読み取り、name
変数に割り当てます。kotlinfun main() { // 入力値を読み取ります。 println("Hello, enter your name:") val name = readln() }
このアプリを Gradle を使用して実行するには、
build.gradle.kts
ファイルで使用する入力としてSystem.in
を指定し、Gradle の変更をロードします。kotlinkotlin { //... nativeTarget.apply { binaries { executable { entryPoint = "main" runTask?.standardInput = System.`in` } } } //... }
空白を削除し、文字数を数えます。
replace()
関数を使用して、名前から空白を削除します。- スコープ関数
let
を使用して、オブジェクトコンテキスト内で関数を実行します。 - 文字列テンプレートを使用して、ドル記号を追加し中括弧で囲むことで、名前の長さを文字列に挿入します –
${it.length}
。it
はラムダパラメータのデフォルト名です。
kotlinfun main() { // 入力値を読み取ります。 println("Hello, enter your name:") val name = readln() // 名前の文字数を数えます。 name.replace(" ", "").let { println("Your name contains ${it.length} letters") } }
アプリケーションを実行します。
名前を入力し、結果を確認します。
次に、名前のユニークな文字だけを数えてみましょう。
Main.kt
ファイルに、String
の新しい拡張関数.countDistinctCharacters()
を宣言します。lowercase()
関数を使用して、名前を小文字に変換します。toList()
関数を使用して、入力文字列を文字のリストに変換します。distinct()
関数を使用して、名前のユニークな文字のみを選択します。count()
関数を使用して、ユニークな文字の数を数えます。
kotlinfun String.countDistinctCharacters() = lowercase().toList().distinct().count()
.countDistinctCharacters()
関数を使用して、名前のユニークな文字数を数えます。kotlinfun String.countDistinctCharacters() = lowercase().toList().distinct().count() fun main() { // 入力値を読み取ります。 println("Hello, enter your name:") val name = readln() // 名前の文字数を数えます。 name.replace(" ", "").let { println("Your name contains ${it.length} letters") // ユニークな文字数を出力します。 println("Your name contains ${it.countDistinctCharacters()} unique letters") } }
アプリケーションを実行します。
名前を入力し、結果を確認します。
Gradle を使用する
このセクションでは、Gradle を使用して Kotlin/Native アプリケーションを手動で作成する方法を学びます。これは Kotlin/Native および Kotlin Multiplatform プロジェクトのデフォルトのビルドシステムであり、Java、Android、その他のエコシステムでも一般的に使用されています。
プロジェクトファイルを作成する
まず、互換性のあるバージョンのGradleをインストールします。互換性テーブルを参照して、Kotlin Gradle プラグイン (KGP) と利用可能な Gradle バージョンの互換性を確認してください。
空のプロジェクトディレクトリを作成します。その中に、次の内容の
build.gradle(.kts)
ファイルを作成します。kotlin// build.gradle.kts plugins { kotlin("multiplatform") version "2.2.10" } repositories { mavenCentral() } kotlin { macosArm64("native") { // macOS上 // linuxArm64("native") // Linux上 // mingwX64("native") // Windows上 binaries { executable() } } } tasks.withType<Wrapper> { gradleVersion = "8.14" distributionType = Wrapper.DistributionType.BIN }
groovy// build.gradle plugins { id 'org.jetbrains.kotlin.multiplatform' version '2.2.10' } repositories { mavenCentral() } kotlin { macosArm64('native') { // macOS上 // linuxArm64('native') // Linux上 // mingwX64('native') // Windows上 binaries { executable() } } } wrapper { gradleVersion = '8.14' distributionType = 'BIN' }
macosArm64
、iosArm64
、linuxArm64
、mingwX64
のような異なるターゲット名を使用して、コードをコンパイルするターゲットを定義できます。これらのターゲット名は、オプションでプラットフォーム名をパラメータとして取ることができます。この場合はnative
です。プラットフォーム名は、プロジェクト内のソースパスとタスク名を生成するために使用されます。プロジェクトディレクトリに空の
settings.gradle(.kts)
ファイルを作成します。src/nativeMain/kotlin
ディレクトリを作成し、その中に以下の内容のhello.kt
ファイルを配置します。kotlinfun main() { println("Hello, Kotlin/Native!") }
慣例により、すべてのソースは src/<target name>[Main|Test]/kotlin
ディレクトリに配置されます。ここで Main
はソースコード用、Test
はテスト用です。<target name>
は、ビルドファイルで指定されたターゲットプラットフォーム(この場合は native
)に対応します。
プロジェクトをビルドして実行する
プロジェクトのルートディレクトリから、ビルドコマンドを実行します。
bash./gradlew nativeBinaries
このコマンドは
build/bin/native
ディレクトリを作成し、その中にdebugExecutable
とreleaseExecutable
の2つのディレクトリを作成します。これらには対応するバイナリファイルが含まれます。デフォルトでは、バイナリファイルの名前はプロジェクトディレクトリと同じになります。
プロジェクトを実行するには、以下のコマンドを実行します。
bashbuild/bin/native/debugExecutable/<project_name>.kexe
ターミナルに "Hello, Kotlin/Native!" と出力されます。
IDE でプロジェクトを開く
これで、Gradle をサポートする任意の IDE でプロジェクトを開くことができます。IntelliJ IDEA を使用する場合:
- File | Open を選択します。
- プロジェクトディレクトリを選択し、Open をクリックします。 IntelliJ IDEA は、それが Kotlin/Native プロジェクトであるかどうかを自動的に検出します。
プロジェクトで問題が発生した場合、IntelliJ IDEA はBuildタブにエラーメッセージを表示します。
コマンドラインコンパイラを使用する
このセクションでは、コマンドラインツールで Kotlin コンパイラを使用して Kotlin/Native アプリケーションを作成する方法を学びます。
コンパイラをダウンロードしてインストールする
コンパイラをインストールするには:
Kotlin のGitHubリリースページに移動し、Assetsセクションまでスクロールします。
名前に
kotlin-native
を含むファイルを探し、ご使用のオペレーティングシステムに適したものをダウンロードします。例えば、kotlin-native-prebuilt-linux-x86_64-2.2.10.tar.gz
です。選択したディレクトリにアーカイブを解凍します。
シェルプロファイルを開き、コンパイラの
/bin
ディレクトリへのパスをPATH
環境変数に追加します。bashexport PATH="/<path to the compiler>/kotlin-native/bin:$PATH"
コンパイラ出力には依存関係や仮想マシンの要件はありませんが、コンパイラ自体には Java 1.8 以降のランタイムが必要です。JDK 8 (JAVA SE 8) 以降のバージョンでサポートされています。
プログラムを作成する
作業ディレクトリを選択し、hello.kt
という名前のファイルを作成します。以下のコードで更新します。
fun main() {
println("Hello, Kotlin/Native!")
}
コンソールからコードをコンパイルする
アプリケーションをコンパイルするには、ダウンロードしたコンパイラで以下のコマンドを実行します。
kotlinc-native hello.kt -o hello
-o
オプションの値は出力ファイルの名前を指定するため、この呼び出しは macOS および Linux では hello.kexe
バイナリファイル(Windows では hello.exe
)を生成します。
利用可能なオプションの完全なリストについては、Kotlin コンパイラオプションを参照してください。
プログラムを実行する
プログラムを実行するには、コマンドラインツールでバイナリファイルが含まれるディレクトリに移動し、以下のコマンドを実行します。
./hello.kexe
./hello.exe
アプリケーションは標準出力に "Hello, Kotlin/Native" と出力します。
次のステップ
- ネイティブ HTTP クライアントを作成し、C ライブラリと相互運用する方法を説明するC interop と libcurl を使用したアプリの作成チュートリアルを完了してください。
- 実際の Kotlin/Native プロジェクト向けに Gradle ビルドスクリプトを記述する方法を学びましょう。
- Gradle ビルドシステムの詳細については、ドキュメントを参照してください。