Edit Page

使用 Kotlin 进行 JavaScript 开发

最终更新: 2024/03/21

Kotlin/JS 能够将你的 Kotlin 代码, Kotlin 标准库, 以及所有兼容的依赖项转换为 JavaScript. Kotlin/JS 目前的实现针对 ES5 标准.

推荐的方式是通过 kotlin.multiplatform Gradle 插件来使用 Kotlin/JS. 这个插件可以帮助你便利的集中配置和控制针对 JavaScript 的 Kotlin 项目. 其中包含了很多必要的功能, 比如控制你的应用程序的打包(Bundling), 通过 npm 直接添加 JavaScript 依赖项, 等等. 关于具体的选项, 详情请参见 设置 Kotlin/JS 项目.

Kotlin/JS IR 编译器

Kotlin/JS IR 编译器 与旧的默认编译器相比, 带来了许多改进. 比如, 它通过死代码消除, 改善了生成的可执行文件的尺寸, 而且与 JavaScript 生态系统的交互变得更加顺畅.

从 Kotlin 1.8.0 开始, 旧的编译器已被废弃.

通过从 Kotlin 代码生成 TypeScript 声明文件 (d.ts), IR 编译器使得 "混合(hybrid)" 应用程序的开发更加容易, 这种应用程序可以混合 TypeScript 和 Kotlin 代码, 也可以使用 Kotlin 跨平台项目来共用代码.

关于 Kotlin/JS IR 编译器的功能, 以及如何在项目中使用, 更多详情请参见 Kotlin/JS IR 编译器文档 以及 迁移向导.

Kotlin/JS 框架

现代的 Web 开发通过使用各种框架得到很大的益处, 框架可以简化 Web 应用程序的创建. 下面是可用于 Kotlin/JS 的一些流行的 Web 框架的例子:

KVision

KVision 是一个面向对象的 Web 框架, 可以使用 Kotlin/JS 编写应用程序, 可以通过各种现成的组件来组合成你的用户界面. 你可以使用响应式(reactive)或命令式(imperative)编程模式来创建你的前端, 然后使用 connector for Ktor, Spring Boot, 以及其他框架, 与你的服务端应用程序连接, 并使用 Kotlin 跨平台程序 来共用代码.

访问 KVision 网站, 查看 KVision 的文档, 教程, 和示例.

关于框架的更新和讨论, 请加入 Kotlin Slack#kvision#javascript 频道.

fritz2

fritz2 是一个独立的框架, 用于构建响应式(reactive) Web 用户界面. 它提供了自己的类型安全的 DSL 来构建和渲染 HTML 元素, 它使用 Kotlin 的协程(Coroutine)和数据流(Flow)来表达 UI 组件及其数据绑定. 它提供了状态管理, 校验, 路由, 以及很多其他功能, 并与 Kotlin 跨平台项目集成.

访问 fritz2 网站, 查看 fritz2 的文档, 教程, 和示例.

关于框架的更新和讨论, 请加入 Kotlin Slack#fritz2#javascript 频道.

Doodle

Doodle 是一个用于 Kotlin/JS 的基于矢量的(vector-based) UI 框架. Doodle 应用程序使用浏览器的图形功能来描绘用户界面, 而不是依赖于 DOM, CSS, 和 Javascript. 使用这种方法, Doodle 使你能够精确描绘任何 UI 元素, 矢量图形, 梯度(gradient), 以及定制的可视化图形.

访问 Doodle 网站, 查看 Doodle 的文档, 教程, 和示例.

关于框架的更新和讨论, 请加入 Kotlin Slack#doodle#javascript 频道.

加入 Kotlin/JS 开发者社区

你可以加入官方 Kotlin Slack#javascript 频道, 与开发者社区和开发团队交谈.