type: doc layout: reference category: "Introduction"
title: "Kotlin/Native"
Kotlin/Native 用于原生开发
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 支持与原生世界的双向互操作。 一方面,编译器可创建:
另一方面,支持直接在 Kotlin/Native 中使用以下现有库的互操作:
- 静态或动态 C 语言库
- C 语言、 Swift 以及 Objective-C 框架
将编译后的 Kotlin 代码包含进用 C、 C++、 Swift、 Objective-C 以及其他语言编写的现有项目中会很容易。 直接在 Kotlin/Native 中使用现有原生代码、 静态或动态 C 语言库、 Swift/Objective-C 框架、 图形引擎以及任何其他原生内容也很容易。
Kotlin/Native 库有助于在多个项目之间共享 Kotlin 代码。 POSIX、 gzip、 OpenGL、 Metal、 Foundation 以及许多其他流行库与 Apple 框架都已预先导入并作为 Kotlin/Native 库包含在编译器包中。
在多个平台之间共享代码
不同目标平台的 Kotlin 与 Kotlin/Native 之间支持多平台项目。 这是在多个平台之间共享公共 Kotlin 代码的方式,这些平台包括 Android、 iOS、 服务器端、 JVM、 客户端、 JavaScript、 CSS 以及原生平台。
多平台库为公共 Kotlin 代码提供了必要的 API,并有助于在 Kotlin 代码中一次性开发项目的共享部分,从而将其与所有目标平台共享。
如何开始
Kotlin 新手?可以看看入门页。
建议的文档页:
推荐的教程:
- Hello Kotlin/Native
- 多平台项目:iOS 与 Android
- C 语言 Kotlin/Native 之间的类型映射
- Kotlin/Native 开发动态库
- Kotlin/Native 开发 Apple 框架
- Kotlin/Native 源代码与示例
- KotlinConf app
- KotlinConf Spinner app
- Kotlin/Native 源代码与示例(.tgz)
- Kotlin/Native 源代码与示例(.zip)
在 GitHub 上还有更多示例。