Начало работы с Kotlin/Native
В этом руководстве вы узнаете, как создать приложение Kotlin/Native. Выберите наиболее подходящий для вас инструмент и создайте приложение одним из следующих способов:
Интегрированная среда разработки. Здесь вы можете клонировать шаблон проекта из системы контроля версий и использовать его в IntelliJ IDEA.
Система сборки Gradle. Чтобы лучше понять, как всё работает внутри, создайте файлы сборки проекта вручную.
-
Инструмент командной строки. Вы можете использовать компилятор Kotlin/Native, который входит в стандартный дистрибутив Kotlin, и создать приложение непосредственно в инструменте командной строки.
Компиляция в консоли может показаться простой и понятной, но она плохо подходит для крупных проектов с сотнями файлов и библиотек. Для таких проектов мы рекомендуем использовать интегрированную среду разработки или систему сборки.
С помощью Kotlin/Native можно компилировать приложения для разных целевых платформ, включая Linux, macOS и Windows. Хотя кросс-платформенная компиляция возможна (то есть можно выполнять компиляцию для одной платформы на другой), в этом руководстве вы будете собирать приложение для той же платформы, на которой выполняется компиляция.
В интегрированной среде разработки
В этом разделе вы узнаете, как использовать IntelliJ IDEA для создания приложения Kotlin/Native.
Создание проекта
Скачайте и установите последнюю версию IntelliJ IDEA.
-
Клонируйте шаблон проекта: в IntelliJ IDEA выберите Файл | Создать | Проект из системы контроля версий и укажите следующий URL:
https://github.com/Kotlin/kmp-native-wizard
-
Откройте файл
gradle/libs.versions.toml— каталог версий зависимостей проекта. Для создания приложений Kotlin/Native вам понадобится плагин Gradle Kotlin Multiplatform, версия которого совпадает с версией Kotlin. Убедитесь, что используете последнюю версию Kotlin:[versions] kotlin = "2.4.20"
-
Следуйте предложению перезагрузить файлы Gradle:
Подробнее об этих настройках см. в справочнике по DSL Gradle для Multiplatform.
Сборка и запуск приложения
Откройте файл Main.kt в каталоге src/nativeMain/kotlin/:
В каталоге
srcнаходятся исходные файлы Kotlin.Файл
Main.ktсодержит код, который выводит «Hello, Kotlin/Native!» с помощью функцииprintln().
Нажмите зелёный значок на поле слева от кода, чтобы запустить его:
IntelliJ IDEA запускает код с помощью задачи Gradle и выводит результат на вкладке Запуск:
После первого запуска IDE создаёт соответствующую конфигурацию запуска в верхней части окна:
Вы можете настроить IntelliJ IDEA для автоматической сборки проекта:
Перейдите в раздел Настройки | Сборка, выполнение, развёртывание | Компилятор.
На странице Компилятор выберите пункт Автоматически собирать проект.
Примените изменения.
Теперь, когда вы вносите изменения в файлы классов или сохраняете файл (Ctrl + S/Cmd + S), IntelliJ IDEA автоматически выполняет инкрементальную сборку проекта.
Обновление приложения
Добавим в приложение функцию подсчёта количества букв в вашем имени:
-
Добавьте в файл
Main.ktкод для чтения введённых данных. Используйте функциюreadln(), чтобы прочитать введённое значение и присвоить его переменнойname:fun main() { // Read the input value. println("Hello, enter your name:") val name = readln() } -
Чтобы запустить это приложение с помощью Gradle, укажите
System.inв качестве используемого ввода в файлеbuild.gradle.ktsи загрузите изменения Gradle:kotlin { //... targets.withType<KotlinNativeTarget>().configureEach { binaries { executable { entryPoint = "main" runTaskProvider?.configure { standardInput = System.`in` } } } } //... } -
Удалите пробелы и подсчитайте буквы:
Используйте функцию
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") } } Запустите приложение.
-
Введите своё имя и посмотрите на результат:
Теперь подсчитаем только уникальные буквы в вашем имени:
-
Объявите в файле
Main.ktновую функцию-расширение.countDistinctCharacters()дляString:Преобразуйте имя в нижний регистр с помощью функции
.lowercase().Преобразуйте введённую строку в список символов с помощью функции
toList().Выберите только уникальные символы в имени с помощью функции
distinct().Подсчитайте уникальные символы с помощью функции
count().
fun String.countDistinctCharacters() = lowercase().toList().distinct().count()
-
Используйте функцию
.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") } } Запустите приложение.
-
Введите своё имя и посмотрите на результат:
Использование 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.
Создание файлов проекта
Для начала установите совместимую версию Gradle. Сверьтесь с таблицей совместимости, чтобы проверить, с какими доступными версиями Gradle совместим плагин Kotlin Gradle (KGP).
-
Создайте пустой каталог проекта. Внутри него создайте файл
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,iosArm64linuxArm64иmingwX64. Имя цели используется для создания путей к исходным файлам и имён задач проекта. Создайте пустой файл
settings.gradle(.kts)в каталоге проекта.-
Создайте каталог
src/nativeMain/kotlinи поместите в него файлhello.ktсо следующим содержимым:fun main() { println("Hello, Kotlin/Native!") }
По соглашению все исходные файлы размещаются в каталогах src/<platform name>[Main|Test]/kotlin, где Main предназначен для исходного кода, а Test — для тестов. В этом случае <platform name> — это native.
Сборка и запуск проекта
-
Выполните из корневого каталога проекта команду сборки
<yourTargetName>Binariesдля своей целевой платформы, например:./gradlew macosArm64Binaries
Эта команда создаёт каталог
build/bin/<yourTargetName>с двумя вложенными каталогами:debugExecutableиreleaseExecutable. В них находятся соответствующие двоичные файлы.По умолчанию двоичный файл называется так же, как каталог проекта.
-
Чтобы запустить проект, выполните команду
build/bin/<yourTargetName>/debugExecutable/<project_name>.kexeдля своей целевой платформы, например:build/bin/macosArm64/DebugExecutable/hello.kexe
Терминал выводит «Hello, Kotlin/Native!».
Открытие проекта в интегрированной среде разработки
Теперь проект можно открыть в любой интегрированной среде разработки с поддержкой Gradle. Если вы используете IntelliJ IDEA:
Выберите Файл | Открыть.
Выберите каталог проекта и нажмите Открыть. IntelliJ IDEA автоматически определит, является ли проект проектом Kotlin/Native.
Если возникнет проблема с проектом, IntelliJ IDEA покажет сообщение об ошибке на вкладке Сборка.
Использование компилятора командной строки
В этом разделе вы узнаете, как создать приложение Kotlin/Native с помощью компилятора Kotlin в инструменте командной строки.
Загрузка и установка компилятора
Чтобы установить компилятор:
Перейдите на страницу выпусков Kotlin на GitHub и прокрутите страницу до раздела Ресурсы.
Найдите файл, в названии которого есть
kotlin-native, и скачайте файл для своей операционной системы, напримерkotlin-native-prebuilt-linux-x86_64-2.4.20.tar.gz.Распакуйте архив в выбранный каталог.
-
Откройте файл профиля оболочки и добавьте путь к каталогу компилятора
/binв переменную средыPATH:export PATH="/<path to the compiler>/kotlin-native/bin:$PATH"
Создание программы
Выберите рабочий каталог и создайте файл с именем 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 читайте в документации.
© 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