1. 项目定位与用途
QuickGUI 是实验性原生桌面 GUI 框架,核心定位是提供无 WebView 依赖的跨语言桌面 UI 开发方案,支持 Go、TypeScript、Rust 三种主流开发语言,同一套渲染器、布局系统和控件可跨平台运行。当前 macOS 平台支持已相对成熟,Windows 和 Linux 仍在原生功能打磨阶段,项目采用 MIT 或 Apache-2.0 双许可协议。
QuickGUI 是无需 WebView 的跨语言原生桌面 GUI 框架,支持 Go、TypeScript、Rust 三种语言开发,基于 wgpu 实现 GPU 加速渲染,本文介绍其项目定位、安装方式、核心特性与使用说明。
QuickGUI 是实验性 GPU 加速原生桌面 GUI 框架,无需 WebView 依赖,支持 Go、TypeScript、Rust 三种语言开发,基于 wgpu 实现 damage-driven 渲染,提供跨平台原生桌面应用开发能力。
QuickGUI 是实验性原生桌面 GUI 框架,核心定位是提供无 WebView 依赖的跨语言桌面 UI 开发方案,支持 Go、TypeScript、Rust 三种主流开发语言,同一套渲染器、布局系统和控件可跨平台运行。当前 macOS 平台支持已相对成熟,Windows 和 Linux 仍在原生功能打磨阶段,项目采用 MIT 或 Apache-2.0 双许可协议。
仓库中未明确给出完整的问题定义,仅可知其核心特性为无需 WebView、GPU 加速渲染,可替代传统基于 WebView 的桌面 GUI 方案,避免 WebView 带来的性能损耗、原生体验不足等问题。
适合使用 Go、TypeScript、Rust 开发原生桌面应用的开发者,尤其适用于对渲染性能、原生体验有较高要求,不希望引入 WebView 技术栈的场景;当前阶段仅推荐用于实验性项目,不适合生产环境使用。
根据 README 说明,开发 QuickGUI 应用需要准备对应语言环境:Go 应用需 Go 1.23+,TypeScript 应用需 Bun 1.4+,Rust 应用需当前稳定版 Rust 工具链,macOS 平台还需安装 Xcode Command Line Tools;创建新项目可通过命令 `bunx @quickgui/cli init my-app` 初始化脚手架。
仓库中未明确给出完整的使用方式说明,仅可知 Rust 侧可通过 Application 启动运行时、open_window 打开窗口,使用 button、text 等内置组件及 transition 等动画 API;JS/TS 侧配置了 SolidJS JSX 支持,可通过 @quickgui/solid 包编写 UI 代码,Go 侧提供了对应语言绑定及代码格式化工具。
项目核心采用 damage-driven 渲染架构,基于 wgpu 实现 GPU 加速;Rust 侧为 workspace 结构,包含 quickgui-system、quickgui-host、quickgui-terminal、quickgui-updater、quickgui-docs-demo 五个子 crate,通过 vendor 目录 fork 管理 accesskit_winit、glyphon、winit 等第三方依赖保证版本一致性。已落地声明式动画、应用环境管理、可访问性、终端扩展、自动更新等核心能力,支持通过 Cargo feature 开关按需启用崩溃报告、终端扩展、自动更新等可选特性。
当前 macOS 平台支持已相对成熟,Windows 和 Linux 可编译运行,但原生功能打磨仍在进行中。
QuickGUI 无需 WebView 依赖,基于 wgpu 实现 GPU 加速的 damage-driven 渲染,可提供更接近原生的性能和体验,避免 WebView 带来的额外开销。
Go 应用需 Go 1.23+,TypeScript 应用需 Bun 1.4+,Rust 应用需 1.90 及以上版本 Rust 工具链,macOS 平台还需安装 Xcode Command Line Tools。
不适合,项目 README 明确说明其仍处于非常实验的阶段,不建议用于任何严肃场景。
官方支持 Go、TypeScript、Rust 三种开发语言,同一套渲染、布局和控件逻辑可在不同语言间复用。