Lobsters | 原文链接 | 2026-08-31 收录

用 800 行 Clojure 包一层 GTK4:glimmer 的响应式原生 UI

来源: yogthos.net — 2026-08-29

概述

作者用 Jolt(一种编译为原生代码的 Clojure 方言)与 glimmer-gtk,把原生 GTK4 工具包包装成响应式、类 Reagent 的开发体验。核心思想与 Reagent 类似:把 UI 状态当作数据结构,组件订阅其中的路径,状态变化即渲染到真实控件上,无需 VDOM。整个 glimmer-gtk 后端不到 800 行 Clojure,通过 Jolt 的 FFI 直接绑定 GTK 的 C 函数,并用 GObject 的枚举昵称机制免去维护 GTK_* 常量表。相比 Electron(自带浏览器)、Flutter(自带渲染引擎)、Tauri(webview),它真正驱动平台原生控件,且无 JVM/JS 运行时、编译出精简二进制,保留 REPL 式交互开发反馈。

核心要点

金句

用 Jolt,我们终于可以两全其美——用原生控件而不必打包整个浏览器引擎来渲染 UI。
返回 Lobsters 首页