JetBrains 扩展了 Kotlin 的功能:支持新开发平台

面向初学者的在线Python训练器

轻松学习Python,无需理论负担。在浏览器中直接解决带自动检查的实践任务,无需安装任何东西。

开始课程

JetBrains 拓展视野:Kotlin 现已支持新平台



流行编程语言 Kotlin 的创造者 JetBrains 团队宣布了一项重要更新。作为 Kotlin Multiplatform (KMP) 生态系统发展的一部分,新增了对 新平台 —— WebAssembly (Wasm) 的支持。这一决定为开发者开启了直接在浏览器中运行 Kotlin 代码的可能性,其性能接近原生。



什么是 WebAssembly,为什么它很重要?



WebAssembly (Wasm) 是一种低级二进制指令格式,可在现代浏览器中以高速执行。此前,Kotlin 用于 Web 开发时使用的是编译为 JavaScript (Kotlin/JS) 的编译器。现在,得益于对 Wasm 的支持,开发者获得了一种替代性的、更高性能的创建 Web 应用程序的方式。



对 WebAssembly 的支持不仅仅是一次技术实验。这是一项战略举措,使 Kotlin 能够在以前由 JavaScript 和 TypeScript 主导的前端开发领域占据更稳固的地位。



新平台为 Kotlin 带来的主要优势



  • 性能: WebAssembly 能够以接近原生的速度执行代码。这在计算密集型任务中尤为明显——如图像处理、3D 图形、模拟等。
  • 技术栈统一: 开发者现在可以一次性用 Kotlin 编写业务逻辑,并在服务器端 (JVM/Native)、浏览器端 (Wasm) 以及移动设备上使用。
  • 安全性: Wasm 在浏览器的隔离环境中运行,降低了执行第三方代码相关的风险。
  • 应用程序大小: 编译后的 Wasm 模块体积紧凑,从而加快了网页的加载速度。


实际中如何运作?



要开始使用 Kotlin/Wasm,开发者需要将构建工具 (Gradle) 更新到支持 Kotlin 1.9.20 及更高版本的最新版本。在 build.gradle.kts 中,只需指定目标平台为 wasmJs 或 wasmWasi(用于 Wasm 的服务器端运行时)。之后,所有 Kotlin 代码,包括标准库和协程,都将被编译为 Wasm 字节码。



与现有前端的集成也得到了简化:Kotlin/Wasm 可以通过特殊的互操作桥与 JavaScript 代码进行交互。这使得可以逐步将应用程序的部分迁移到 Wasm,而无需完全重写。



这对开发者和企业意味着什么?



  • 降低成本: 团队可以减少使用的编程语言数量,专注于将 Kotlin 作为后端、移动应用以及现在的 Web 应用的统一语言。
  • 更快的上市时间: 跨平台代码复用加速了开发和测试。
  • 扩大受众: 通过 Wasm 在浏览器中运行的应用程序无需安装——用户可以即时访问功能。


Kotlin 和 WebAssembly 的未来



对 WebAssembly 的支持仅仅是个开始。JetBrains 正在积极改进针对 Wasm 目标的调试和分析工具。预计在即将发布的版本中,将通过 Compose Multiplatform 添加对图形界面的全面支持,从而允许使用统一的 UI 代码创建 Web 应用程序。

推荐库