Kotlin工具链0.12:多平台库发布、Wasm应用及更多

Kotlin工具链0.12:多平台库发布、Wasm应用及更多

💡 原文英文,约1400词,阅读约需5分钟。
📝

内容提要

Kotlin工具链0.12.0发布,支持多平台库发布、Wasm应用预览及Compose热重载。改进终端UI、IDE(含Compose预览和Android工具),提升iOS体验。新增本地依赖格式,提高JDK和Kotlin最低版本要求,并更新默认版本。仍处Alpha阶段,欢迎反馈。

🔎

延伸解读

多平台库发布:简化分发,但资源支持尚缺

0.12.0将多平台库发布从仅JVM扩展到多平台,统一了配置方式,并支持Cinterop绑定,方便用户直接使用C API。但需注意,Compose Multiplatform库的资源尚未包含在发布中,相关进展可关注KTC-5698。若你的库依赖Compose资源,当前版本可能不满足需求。

Maven Central配额新规:默认减少发布文件

为应对Sonatype即将执行的配额限制,此版本调整了默认发布的校验和文件:不再发布.asc.sha1,且默认仅包含.md5和.sha1。若需继续发布.sha256和.sha512,需在配置中显式设置settings.publishing.checksums。升级后请检查发布配置,确保符合你的发布要求。

Wasm应用支持:从构建到运行的一体化体验

wasm-js/app模块现在可直接构建为Web应用,支持kotlin run命令运行、自定义index.html及资源,并能获取来自Kotlin Multiplatform库的传递npm依赖。这为Web开发提供了更便捷的流程,但需注意该功能仍为预览,建议在非生产环境中试用。

版本门槛提升:JDK 17与Kotlin 2.2.20起

此版本明确了最低JDK版本为17,并提高了Kotlin编译器最低版本至2.2.20。若你的开发环境或项目依赖较旧版本,需提前升级。同时,默认版本更新(如Kotlin 2.4.10、JDK 25等)可能影响现有项目,建议使用kotlin update命令更新并测试兼容性。

Q&A

Kotlin Toolchain 0.12.0 有哪些主要新功能?

Kotlin Toolchain 0.12.0 的主要新功能包括:多平台库发布、Wasm 应用支持预览、Compose Hot Reload 命令行支持、终端 UI 改进、IDE 改进(如 Compose 预览、Android 工具改进、iOS 体验提升)、新的本地依赖格式(// 前缀)、提高最低 JDK 和 Kotlin 版本要求,以及更新默认版本。

如何在 Kotlin Toolchain 中发布多平台库?

在 Kotlin Toolchain 0.12.0 中,发布多平台库与发布 JVM 库配置相同。在 product 配置中设置 type: lib,指定 platforms(如 jvm, android, iosArm64, iosSimulatorArm64, wasmJs),并在 settings 中启用 publishing,设置 group 和 version。工具链会自动发布 common API、每个平台的构件、源码和模块元数据。Cinterop 绑定也会被发布,用户无需自行配置 interop。

Kotlin Toolchain 0.12.0 对 Maven Central 配额合规做了哪些调整?

为了遵守 Maven Central 的新配额,Kotlin Toolchain 0.12.0 默认不再发布签名文件的校验和(.asc.sha1),并且默认只发布 .md5 和 .sha1 校验和。如果需要继续发布 .sha256 和 .sha512,可以通过 settings.publishing.checksums 配置来指定。

Kotlin Toolchain 0.12.0 如何支持 Wasm 应用?

Kotlin Toolchain 0.12.0 支持将 wasm-js/app 模块构建为可直接使用的 Web 应用。支持的功能包括:使用 kotlin run 命令运行 Wasm 应用、自定义 index.html 和其他资源、从 Kotlin Multiplatform 库获取传递的 npm 依赖。

Kotlin Toolchain 0.12.0 在 IDE 方面有哪些改进?

IDE 改进包括:支持 Compose 预览(基于 androidx.compose.ui.tooling.preview.Preview 注解)、更好地支持 Compose 资源(自动更新 Res 类、导航、补全和重构)、Android 工具改进(如 Android Lint、Live Edit、Layout Inspector、R 类导航和补全)、iOS 体验提升(运行配置可选择设备、配置 Xcode 选项、选择 debug/release 模式),以及为目录依赖添加坐标的内嵌提示。

Kotlin Toolchain 0.12.0 中新的本地依赖格式是什么?

新的推荐本地依赖格式使用 // 前缀表示项目根目录的相对路径,例如 //foo/bar。这种格式比旧的相对路径(以 . 开头)更清晰,避免了因模块移动而需要修改路径的问题,也减少了深层目录中 ../ 的混乱。旧格式仍然可用。

Kotlin Toolchain 0.12.0 对最低 JDK 和 Kotlin 版本有什么要求?

Kotlin Toolchain 0.12.0 要求最低 JDK 版本为 17,最低 Kotlin 编译器版本为 2.2.20(从 2.1.10 提升)。如果代码需要在更低版本的 JRE 上运行,可以通过 settings.jvm.release 设置较低的目标版本。

Kotlin Toolchain 0.12.0 更新了哪些默认版本?

更新了多个内置工具链和框架的默认版本,包括:Kotlin 2.4.10、JDK 25、JUnit Platform 6.1.3、KSP 2.3.11、Ktor 3.5.2、Spring Boot 4.1.0、DataFrame 1.0.0-rc01、Kotlinx.rpc 0.10.3。

Kotlin Toolchain 0.12.0 中 Compose Hot Reload 有哪些改进?

Compose Hot Reload 现在支持从命令行使用 kotlin run --compose-hot-reload-mode 命令。首次重载速度更快,构建资源消耗更少,并支持从 DevTools 菜单执行“重启应用”操作。此外,还提供了 MCP 服务器,允许代理与运行中的 Compose Hot Reload 应用交互,包括重载、重启、查看窗口快照和转储组合树。

🏷️

标签

➡️

继续阅读