Kotlin/Native
Kotlin/Native 是一种代码编译技术, 可以将 Kotlin 代码编译为原生二进制代码(native binary), 脱离 VM 运行. 它包含一个基于 LLVM 的后端, 用于编译 Kotlin 源代码, 以及一个原生代码实现的 Kotlin 运行库.
Kotlin/Native 的主要设计目的是, 用来编译 Kotlin 代码, 使其能够运行在那些不应该使用 虚拟机, 或无法使用 虚拟机 的平台上, 比如嵌入式设备, 或 iOS. 它适合用于帮助你生成完整独立的, 不依赖于额外运行库和虚拟机的独立程序.
在使用 C, C++, Swift, Objective-C, 和其它语言编写的既有项目中, 可以很容易的包含编译后的 Kotlin 代码. 在 Kotlin/Native 代码中, 也可以很容易地直接使用既有的原生代码, 静态或动态的 C 库, Swift/Objective-C 框架, 图形引擎, 以及其他任何东西.
Kotlin/Native 支持以下平台:
Kotlin/Native 支持与各种操作系统的原生编程语言之间的双向互操作. 编译器能够创建各种平台的可执行文件, 静态或动态的 C 库, 以及 Swift/Objective-C 框架.
Kotlin/Native 提供了 与 C 的交互能力. 在 Kotlin 代码中, 你可以直接使用既有的 C 库.
要了解更多详情, 请完成以下教程:
Kotlin/Native 提供了 与 Swift 和 Objective-C 的交互能力. 你可以在 macOS 和 iOS 平台的 Swift/Objective-C 应用程序中直接使用 Kotlin 代码.
要了解更多详情, 请完成 使用 Kotlin/Native 开发 Apple Framework 教程.
Kotlin/Native 包含一组预构建的 平台库, 能够帮助你在项目之间共用 Kotlin 代码. POSIX, gzip, OpenGL, Metal, Foundation, 以及很多其它流行的库和 Apple 框架都已预先导入, 并作为 Kotlin/Native 库包含在编译器包中.
Kotlin/Native 是 Kotlin Multiplatform 技术的一部分, Kotlin Multiplatform 能够帮助你在多个不同的平台上共用代码, 包括 Android, iOS, JVM, Web, 以及原生平台. 跨平台库为共通的 Kotlin 代码提供了必要的 API, 帮助我们用 Kotlin 代码编写项目中共通的部分, 这些代码只需要编写一次.
Kotlin/Native 使用一个自动化的 内存管理器, 与 JVM 和 Go 类似. 它有自己的追踪垃圾收集器, 并与 Swift/Objective-C 的 ARC 集成.
内存消耗由自定义的内存分配器控制. 它能够优化内存的使用量, 而且有助于防止突然的内存分配激增.