Spec-Zone.ru › Kotlin 2

Начало работы с Kotlin/Native

В этом руководстве вы узнаете, как создать приложение Kotlin/Native. Выберите наиболее подходящий для вас инструмент и создайте приложение одним из следующих способов:

  • Интегрированная среда разработки. Здесь вы можете клонировать шаблон проекта из системы контроля версий и использовать его в IntelliJ IDEA.

  • Система сборки Gradle. Чтобы лучше понять, как всё работает внутри, создайте файлы сборки проекта вручную.

  • Инструмент командной строки. Вы можете использовать компилятор Kotlin/Native, который входит в стандартный дистрибутив Kotlin, и создать приложение непосредственно в инструменте командной строки.

    Компиляция в консоли может показаться простой и понятной, но она плохо подходит для крупных проектов с сотнями файлов и библиотек. Для таких проектов мы рекомендуем использовать интегрированную среду разработки или систему сборки.

С помощью Kotlin/Native можно компилировать приложения для разных целевых платформ, включая Linux, macOS и Windows. Хотя кросс-платформенная компиляция возможна (то есть можно выполнять компиляцию для одной платформы на другой), в этом руководстве вы будете собирать приложение для той же платформы, на которой выполняется компиляция.

Если вы используете Mac и хотите создавать и запускать приложения для macOS или других платформ Apple, сначала установите инструменты командной строки Xcode, запустите их и примите условия лицензии.

В интегрированной среде разработки

В этом разделе вы узнаете, как использовать IntelliJ IDEA для создания приложения Kotlin/Native.

Создание проекта

  1. Скачайте и установите последнюю версию IntelliJ IDEA.

  2. Клонируйте шаблон проекта: в IntelliJ IDEA выберите Файл | Создать | Проект из системы контроля версий и укажите следующий URL:

    https://github.com/Kotlin/kmp-native-wizard
    
  3. Откройте файл gradle/libs.versions.toml — каталог версий зависимостей проекта. Для создания приложений Kotlin/Native вам понадобится плагин Gradle Kotlin Multiplatform, версия которого совпадает с версией Kotlin. Убедитесь, что используете последнюю версию Kotlin:

    [versions]
    kotlin = "2.4.20"
    
  4. Следуйте предложению перезагрузить файлы Gradle:

    Load Gradle changes button

Подробнее об этих настройках см. в справочнике по DSL Gradle для Multiplatform.

Сборка и запуск приложения

Откройте файл Main.kt в каталоге src/nativeMain/kotlin/:

  • В каталоге src находятся исходные файлы Kotlin.

  • Файл Main.kt содержит код, который выводит «Hello, Kotlin/Native!» с помощью функции println().

Нажмите зелёный значок на поле слева от кода, чтобы запустить его:

Run the application

IntelliJ IDEA запускает код с помощью задачи Gradle и выводит результат на вкладке Запуск:

Application output

После первого запуска IDE создаёт соответствующую конфигурацию запуска в верхней части окна:

Gradle run configuration

Пользователи IntelliJ IDEA с подпиской Ultimate могут установить плагин Native Debugging Support, который позволяет отлаживать скомпилированные исполняемые файлы и автоматически создаёт конфигурации запуска для импортированных проектов Kotlin/Native.

Вы можете настроить IntelliJ IDEA для автоматической сборки проекта:

  1. Перейдите в раздел Настройки | Сборка, выполнение, развёртывание | Компилятор.

  2. На странице Компилятор выберите пункт Автоматически собирать проект.

  3. Примените изменения.

Теперь, когда вы вносите изменения в файлы классов или сохраняете файл (Ctrl + S/Cmd + S), IntelliJ IDEA автоматически выполняет инкрементальную сборку проекта.

Обновление приложения

Добавим в приложение функцию подсчёта количества букв в вашем имени:

  1. Добавьте в файл Main.kt код для чтения введённых данных. Используйте функцию readln(), чтобы прочитать введённое значение и присвоить его переменной name:

    fun main() {
        // Read the input value.
        println("Hello, enter your name:")
        val name = readln()
    }
    
  2. Чтобы запустить это приложение с помощью Gradle, укажите System.in в качестве используемого ввода в файле build.gradle.kts и загрузите изменения Gradle:

    kotlin { //... targets.withType<KotlinNativeTarget>().configureEach { binaries { executable { entryPoint = "main" runTaskProvider?.configure { standardInput = System.`in` } } } } //... }
  3. Удалите пробелы и подсчитайте буквы:

    • Используйте функцию replace(), чтобы удалить пробелы в имени.

    • Используйте функцию области видимости let, чтобы выполнить функцию в контексте объекта.

    • Используйте шаблон строки, чтобы вставить длину имени в строку: добавьте знак доллара $ и заключите выражение в фигурные скобки — ${it.length}. it — это имя параметра лямбда-выражения по умолчанию.

    fun main() {
        // Read the input value.
        println("Hello, enter your name:")
        val name = readln()
        // Count the letters in the name.
        name.replace(" ", "").let {
            println("Your name contains ${it.length} letters")
        }
    }
    
  4. Запустите приложение.

  5. Введите своё имя и посмотрите на результат:

    Application output

Теперь подсчитаем только уникальные буквы в вашем имени:

  1. Объявите в файле Main.kt новую функцию-расширение .countDistinctCharacters() для String:

    • Преобразуйте имя в нижний регистр с помощью функции .lowercase().

    • Преобразуйте введённую строку в список символов с помощью функции toList().

    • Выберите только уникальные символы в имени с помощью функции distinct().

    • Подсчитайте уникальные символы с помощью функции count().

    fun String.countDistinctCharacters() = lowercase().toList().distinct().count()
    
  2. Используйте функцию .countDistinctCharacters(), чтобы подсчитать количество уникальных букв в имени:

    fun String.countDistinctCharacters() = lowercase().toList().distinct().count()
    
    fun main() {
        // Read the input value.
        println("Hello, enter your name:")
        val name = readln()
        // Count the letters in the name.
        name.replace(" ", "").let {
            println("Your name contains ${it.length} letters")
            // Print the number of unique letters.
            println("Your name contains ${it.countDistinctCharacters()} unique letters")
        }
    }
    
  3. Запустите приложение.

  4. Введите своё имя и посмотрите на результат:

    Application output

Использование Gradle

В этом разделе вы узнаете, как вручную создать приложение Kotlin/Native с помощью Gradle. Это система сборки по умолчанию для проектов Kotlin/Native и Kotlin Multiplatform, которая также широко используется в экосистемах Java, Android и других.

При сборке проектов Kotlin/Native плагин Kotlin Gradle загружает следующие артефакты:

  • Основной пакет Kotlin/Native, включающий различные инструменты, например konanc, cinterop и jsinterop. По умолчанию пакет Kotlin/Native загружается из репозитория Maven Central как обычная зависимость Gradle.

  • Зависимости, необходимые для самой konanc, например llvm. Они загружаются из CDN JetBrains с помощью специального механизма.

Вы можете изменить источник загрузки основного пакета в блоке repositories {} скрипта сборки Gradle.

Создание файлов проекта

  1. Для начала установите совместимую версию Gradle. Сверьтесь с таблицей совместимости, чтобы проверить, с какими доступными версиями Gradle совместим плагин Kotlin Gradle (KGP).

  2. Создайте пустой каталог проекта. Внутри него создайте файл build.gradle(.kts) со следующим содержимым:

    // build.gradle.kts
    import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTarget
    
    plugins {
        kotlin("multiplatform") version "2.4.20"
    }
    
    repositories {
        // Specify the source to download the main bundle
        // Maven Central is used by default
        mavenCentral()
    }
    
    kotlin {
        macosArm64()    // on macOS
        // linuxArm64() // on Linux
        // mingwX64()   // on Windows
    
        targets.withType<KotlinNativeTarget>().configureEach {
            binaries {
                executable()
            }
        }
    }
    
    tasks.withType<Wrapper> {
        gradleVersion = "9.7.0"
        distributionType = Wrapper.DistributionType.BIN
    }
    
    // build.gradle
    import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTarget
    
    plugins {
        id 'org.jetbrains.kotlin.multiplatform' version '2.4.20'
    }
    
    repositories {
        // Specify the source to download the main bundle
        // Maven Central is used by default
        mavenCentral()
    }
    
    kotlin {
        macosArm64()    // on macOS
        // linuxArm64() // on Linux
        // mingwX64()   // on Windows
    
        targets.withType(KotlinNativeTarget).configureEach {
            binaries {
                executable()
            }
        }
    }
    
    wrapper {
        gradleVersion = '9.7.0'
        distributionType = 'BIN'
    }
    

    Для определения целевых платформ, для которых компилируется код, можно использовать разные имена целей, например macosArm64, iosArm64 linuxArm64 и mingwX64. Имя цели используется для создания путей к исходным файлам и имён задач проекта.

  3. Создайте пустой файл settings.gradle(.kts) в каталоге проекта.

  4. Создайте каталог src/nativeMain/kotlin и поместите в него файл hello.kt со следующим содержимым:

    fun main() {
        println("Hello, Kotlin/Native!")
    }
    

По соглашению все исходные файлы размещаются в каталогах src/<platform name>[Main|Test]/kotlin, где Main предназначен для исходного кода, а Test — для тестов. В этом случае <platform name> — это native.

Сборка и запуск проекта

  1. Выполните из корневого каталога проекта команду сборки <yourTargetName>Binaries для своей целевой платформы, например:

    ./gradlew macosArm64Binaries
    

    Эта команда создаёт каталог build/bin/<yourTargetName> с двумя вложенными каталогами: debugExecutable и releaseExecutable. В них находятся соответствующие двоичные файлы.

    По умолчанию двоичный файл называется так же, как каталог проекта.

  2. Чтобы запустить проект, выполните команду build/bin/<yourTargetName>/debugExecutable/<project_name>.kexe для своей целевой платформы, например:

    build/bin/macosArm64/DebugExecutable/hello.kexe
    

Терминал выводит «Hello, Kotlin/Native!».

Открытие проекта в интегрированной среде разработки

Теперь проект можно открыть в любой интегрированной среде разработки с поддержкой Gradle. Если вы используете IntelliJ IDEA:

  1. Выберите Файл | Открыть.

  2. Выберите каталог проекта и нажмите Открыть. IntelliJ IDEA автоматически определит, является ли проект проектом Kotlin/Native.

Если возникнет проблема с проектом, IntelliJ IDEA покажет сообщение об ошибке на вкладке Сборка.

Использование компилятора командной строки

В этом разделе вы узнаете, как создать приложение Kotlin/Native с помощью компилятора Kotlin в инструменте командной строки.

Загрузка и установка компилятора

Чтобы установить компилятор:

  1. Перейдите на страницу выпусков Kotlin на GitHub и прокрутите страницу до раздела Ресурсы.

  2. Найдите файл, в названии которого есть kotlin-native, и скачайте файл для своей операционной системы, например kotlin-native-prebuilt-linux-x86_64-2.4.20.tar.gz.

  3. Распакуйте архив в выбранный каталог.

  4. Откройте файл профиля оболочки и добавьте путь к каталогу компилятора /bin в переменную среды PATH:

    export 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 задаёт имя выходного файла, поэтому эта команда создаёт двоичный файл hello.kexe в macOS и Linux (а в Windows — hello.exe).

Полный список доступных параметров см. в разделе Параметры компилятора Kotlin.

Запуск программы

Чтобы запустить программу, перейдите в инструменте командной строки в каталог с двоичным файлом и выполните следующую команду:

./hello.kexe
./hello.exe

Приложение выводит «Hello, Kotlin/Native» в стандартный поток вывода.

Что дальше?

  • Пройдите руководство «Создание приложения с использованием взаимодействия с C и libcurl», в котором объясняется, как создать собственный HTTP-клиент и взаимодействовать с библиотеками C.

  • Узнайте, как писать скрипты сборки Gradle для реальных проектов Kotlin/Native.

  • Подробнее о системе сборки Gradle читайте в документации.

21 мая 2026 г.
Kotlin/NativeБиблиотеки Kotlin/Native

© 2010–2026 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/docs/native-get-started.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API