Spec-Zone.ru › Kotlin 1.4

Kotlin/Native для нативного кода

Compiler Diagram

Kotlin/Native — это технология для компиляции кода Kotlin в нативные двоичные файлы, которые могут выполняться без виртуальной машины. Это бэкенд на основе LLVM для компилятора Kotlin и нативное исполнение стандартной библиотеки Kotlin.

Почему Kotlin/Native?

Kotlin/Native разработан в первую очередь для компиляции на платформах, где виртуальные машины нежелательны или невозможны, например, на встраиваемых устройствах или iOS. Он решает задачи, когда разработчику нужно создать автономную программу, не требующую дополнительного времени выполнения или виртуальной машины.

Целевые платформы

Kotlin/Native поддерживает следующие платформы:

  • iOS (arm32, arm64, симулятор x86_64)
  • macOS (x86_64)
  • watchOS (arm32, arm64, x86)
  • tvOS (arm64, x86_64)
  • Android (arm32, arm64, x86, x86_64)
  • Windows (mingw x86_64, x86)
  • Linux (x86_64, arm32, arm64, MIPS, MIPS little endian)
  • WebAssembly (wasm32)

Взаимодействие

Kotlin/Native поддерживает двустороннее взаимодействие с нативным миром. С одной стороны, компилятор создаёт:

  • исполняемый файл для многих платформ
  • статическую библиотеку или динамическую библиотеку с заголовками C для проектов C/C++
  • фреймворк Apple для проектов Swift и Objective-C

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

  • статические или динамические библиотеки C
  • фреймворки C, Swift и Objective-C

Легко включить скомпилированный код Kotlin в существующие проекты, написанные на C, C++, Swift, Objective-C и других языках. Также легко использовать существующий нативный код, статические или динамические библиотеки C, Swift/Objective-C фреймворки, графические движки и многое другое напрямую из Kotlin/Native.

Библиотеки Kotlin/Native помогают обмениваться кодом Kotlin между проектами. POSIX, gzip, OpenGL, Metal, Foundation и многие другие популярные библиотеки и фреймворки Apple предварительно импортированы и включены в пакет компилятора как библиотеки Kotlin/Native.

Обмен кодом между платформами

Многоплатформенные проекты позволяют обмениваться общим кодом Kotlin между несколькими платформами, включая Android, iOS, JVM, JavaScript и нативный. Многоплатформенные библиотеки предоставляют необходимые API для общего кода Kotlin и помогают разработать общие части проекта в Kotlin-коде в одном месте и поделиться им со всеми или несколькими целевыми платформами.

Вы можете использовать Kotlin Multiplatform Mobile (KMM) для создания многоплатформенных мобильных приложений с общим кодом между Android и iOS.

Что дальше?

Новый в Kotlin? Посмотрите страницу Начало работы.

Документация

  • Документация Kotlin Multiplatform Mobile
  • Документация по многоплатформенности
  • Взаимодействие с C
  • Взаимодействие со Swift/Objective-C

Учебные пособия

  • Привет, Kotlin/Native
  • Сопоставление типов между C и Kotlin/Native
  • Kotlin/Native как динамическая библиотека
  • Kotlin/Native как фреймворк Apple

Примеры проектов

  • Примеры Kotlin Multiplatform Mobile
  • Исходные тексты и примеры Kotlin/Native
  • Приложение KotlinConf
  • Приложение KotlinConf Spinner
  • Исходные тексты и примеры Kotlin/Native (.tgz)
  • Исходные тексты и примеры Kotlin/Native (.zip)

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

Spec-Zone.ru

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