Kotlin/Native 用于原生开发

Compiler Diagram

Kotlin/Native 是一种将 Kotlin 代码编译为无需虚拟机就可运行的原生二进制文件的技术。 它是一个基于 LLVM 的 Kotlin 编译器后端以及 Kotlin 标准库的原生实现。

为什么选用 Kotlin/Native?

Kotlin/Native 的主要设计目标是让 Kotlin 可以为不希望或者不可能使用 虚拟机 的平台(例如嵌入式设备或者 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 小端次序)
  • WebAssembly(wasm32)

互操作

Kotlin/Native 支持与原生世界的双向互操作。 一方面,编译器可创建:

  • 用于多个平台的可执行文件
  • 用于 C/C++ 项目的静态库或动态库以及 C 语言头文件
  • 用于Swift 与 Objective-C 项目的 Apple 框架

另一方面,支持直接在 Kotlin/Native 中使用以下现有库的互操作:

将编译后的 Kotlin 代码包含进用 C、 C++、 Swift、 Objective-C 以及其他语言编写的现有项目中会很容易。 直接在 Kotlin/Native 中使用现有原生代码、 静态或动态 C 语言库、 Swift/Objective-C 框架、 图形引擎以及任何其他原生内容也很容易。

Kotlin/Native 有助于在多个项目之间共享 Kotlin 代码。 POSIX、 gzip、 OpenGL、 Metal、 Foundation 以及许多其他流行库与 Apple 框架都已预先导入并作为 Kotlin/Native 库包含在编译器包中。

在多个平台之间共享代码

多平台项目允许在多个平台之间共享公共的 Kotlin 代码, 包括:Android、iOS、JVM、JavaScript 与原生。 多平台库为公共的 Kotlin 代码提供了所需的 API,并在一处帮助以 Kotlin 代码开发项目的公共部分,并将其与所有或多个目标平台共享。

可以使用 Kotlin 移动端多平台(KMM)通过 Android 与 iOS 之间共享代码创建多平台移动应用程序。

接下来做什么?

Kotlin 新手?可以看看入门页。

文档

教程

样例项目