Kotlin/JS 框架
要利用现有的 Kotlin/JavaScript 框架来简化 Web 开发. 这些框架提供了可以直接使用的组件, 路由, 状态管理, 以及用于构建现代 Web 应用程序的其他工具.
以下是社区提供的一些 Kotlin/JS Web 框架:
Kobweb
Kobweb 是一个 Kotlin 框架, 用于使用 Compose HTML 创建网站和 Web 应用程序. 它支持实时重载(Live Reloading), 以便快速开发. 受 Next.js 的启发, Kobweb 推广了一种标准结构, 用于添加 Widget, 布局和页面.
Kobweb 提供了很多开箱即用的功能, 包括页面路由, 亮色/暗色(Light/Dark) 模式, CSS 样式, Markdown 支持, 后端 API, 等等. 它还包含 Silk, 一个拥有一系列多功能 Widget 的 UI 库, 用于构建现代 UI.
Kobweb 还支持站点导出, 通过生成页面快照来支持 SEO 和自动搜索索引. 此外, 它能够创建基于 DOM 的 UI, 能够根据状态变化高效地更新.
关于文档和示例, 请参见 Kobweb 文档 网站.
关于框架的更新和讨论, 请加入 Kotlin Slack 中的 #kobweb 和 #compose-web 频道.
Kilua
Kilua 是一个可组合(Composable)的 Web 框架, 基于 Compose Runtime 构建, 与 compose-html 库类似. 与 compose-html 不同的是, Kilua 同时支持 Kotlin/Wasm 和 Kotlin/JS 编译目标.
Kilua 提供了一个模块化的 API, 用于创建声明式 UI 组件, 并管理其状态. 它还包含一组立即可用的组件, 适用于 Web 应用程序的常见使用场景.
Kilua 是 KVision 框架的继承者. Kilua 的设计目的是, 让 Compose 用户 (@Composable 函数, 状态管理, 协程/Flow 集成) 和 KVision 用户 (基于组件的 API, 可以对 UI 组件进行一些命令式交互) 都很熟悉.
关于文档和示例, 请参见 GitHub 上的 Kilua 代码仓库.
关于框架的更新和讨论, 请加入 Kotlin Slack 中的 #kilua 频道.
Kotlin React
React 是一个基于组件的库, 广泛用于 Web 和原生用户界面. 它提供了庞大的组件生态系统, 丰富的学习资料, 以及活跃的社区.
Kotlin React 是 React 的 Kotlin 封装库, 将 React 生态系统与 Kotlin 的类型安全性和表达能力结合在一起.
关于库的更新和讨论, 请加入 Kotlin Slack 中的 #react 和 #javascript 频道.
KVision
KVision 是一个面向对象的 Web 框架, 通过可直接使用的 UI 组件构建 Kotlin/JS 应用程序. 这些组件可以作为你的应用程序 UI 的构建模块.
使用这个框架, 你可以使用响应式和命令式两种编程模型来构建前端. 还可以通过 Ktor, Spring Boot 以及其他框架的连接器, 将前端与后端应用程序集成. 此外, 你可以使用 Kotlin Multiplatform 共用代码.
关于文档, 教程和示例, 请参见 KVision 文档 网站.
关于框架的更新和讨论, 请加入 Kotlin Slack 中的 #kvision 和 #javascript 频道.
fritz2
fritz2 是一个独立的框架, 用于构建响应式 Web 用户界面. 它提供了自己的类型安全 DSL, 用于构建和渲染 HTML 元素, 并使用 Kotlin 的协程和 Flow 来定义组件及其数据绑定.
fritz2 提供了很多开箱即用的功能, 包括状态管理, 校验, 路由, 等等. 它还可以与 Kotlin Multiplatform 项目集成.
关于文档, 教程和示例, 请参见 fritz2 文档 网站.
关于框架的更新和讨论, 请加入 Kotlin Slack 中的 #fritz2 和 #javascript 频道.
Doodle
Doodle 是一个基于矢量的 Kotlin/JS UI 框架. Doodle 应用程序使用浏览器的图形能力来绘制用户界面, 而不依赖于 DOM, CSS 或 JavaScript. 这种方式让你能够控制任意 UI 元素, 矢量图形, 渐变和自定义可视化的渲染.
关于文档, 教程和示例, 请参见 Doodle 文档 网站.
关于框架的更新和讨论, 请加入 Kotlin Slack 中的 #doodle 和 #javascript 频道.