面向 macOS、Windows、Linux 和 Web 的原生 GPU 渲染 Rust UI 框架,自带渲染器、文本、布局与弹簧动画。
justrach/nanoui
用 Zig 构建桌面应用的工具包,可用 GPU 绘制原生界面,也可嵌入系统 webview 网页。
- Star
- 851
- Fork
- 42
- 未关闭 Issue
- 5
- 最近提交
- 昨天
这是什么?
nanoui 是一个用 Zig 编写桌面应用的工具包。每个窗口可以显示两种界面之一:完全用 Zig 编写、由 nanoui 自行绘制的原生界面(不含 HTML 或 webview),或运行在系统 webview 中的网页(macOS 为 WKWebView,Windows 为 WebView2)。网页前端通过生成的带类型 JavaScript 客户端调用 Zig 代码。
原生界面支持 flexbox 风格布局、基于字形图集的文字渲染、动画,以及无需打开窗口即可测试的即时模式视图。macOS 上使用 Metal 和 CoreText 绘制,同时支持 Linux、Windows、iOS 和 Android。应用可编译为单个二进制文件。
项目还提供 `nui` 命令行工具,用于生成新应用、离屏运行测试并以 PNG 输出界面截图,适合开发者和编码代理使用。
核心功能
- 01用 Zig 编写原生界面,macOS 上通过 Metal 在 GPU 绘制
- 02支持 flexbox 布局、虚拟化列表、文字换行与富文本
- 03网页运行在系统 webview 中,并提供生成的带类型 JavaScript 客户端
- 04无需打开窗口即可离屏测试并导出 PNG 截图
- 05应用编译为单个二进制文件,发布版约 0.7 MB
- 06支持 macOS、Linux、Windows、iOS 和 Android
适用场景
- 在 Zig 中开发不依赖浏览器内核的小型桌面工具
- 编写界面可在 CI 中无头测试的原生风格应用
- 用 Zig 后端配合系统 webview 中的网页前端
- 用 Zig 编写并共享视图代码,原型化 iOS 或 Android 应用
快速上手
- 1
递归克隆仓库(含子模块)
git clone --recursive https://github.com/justrach/nanoui - 2
进入项目目录
cd nanoui - 3
运行原生 UI 示例画廊
zig build run-gallery - 4
运行 webview 示例
zig build run-hello
使用前须知
- 需要 Zig 0.17.0 这一特定版本的工具链。
- 在 nanoui 处于 0.x 阶段时,次版本发布可能修改 API。
- Linux 上运行应用需要 GTK 3。
收录于专题
标签
常见问题
- nanoui 是什么?
- 用 Zig 构建桌面应用的工具包,可用 GPU 绘制原生界面,也可嵌入系统 webview 网页。 nanoui 是一个用 Zig 编写桌面应用的工具包。每个窗口可以显示两种界面之一:完全用 Zig 编写、由 nanoui 自行绘制的原生界面(不含 HTML 或 webview),或运行在系统 webview 中的网页(macOS 为 WKWebView,Windows 为 WebView2)。网页前端通过生成的带类型 JavaScript 客户端调用 Zig 代码。
- nanoui 可以免费使用吗?用的什么许可证?
- nanoui 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- nanoui 还在维护吗?
- 活跃维护中。nanoui 最近一次提交是在 2026年11月6日。
- nanoui 适合用来做什么?
- 在 Zig 中开发不依赖浏览器内核的小型桌面工具 编写界面可在 CI 中无头测试的原生风格应用 用 Zig 后端配合系统 webview 中的网页前端 用 Zig 编写并共享视图代码,原型化 iOS 或 Android 应用
- nanoui 怎么安装和运行?
- 递归克隆仓库(含子模块): git clone --recursive https://github.com/justrach/nanoui 进入项目目录: cd nanoui 运行原生 UI 示例画廊: zig build run-gallery 运行 webview 示例: zig build run-hello
- 在哪里获取 nanoui?
- 源代码和安装说明在 GitHub 上:https://github.com/justrach/nanoui
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
一个用 Go 构建跨平台桌面应用的框架,前端可使用 React、Vue、Svelte 等 Web 技术。
用 Go 开发桌面应用的框架,可选系统 WebView 网页界面或 GPU 绘制的原生 UI。
一个轻量的 C/C++ 跨平台 webview 库,用原生 WebView 在桌面应用中渲染 HTML 界面。
基于 Rust 的应用与游戏开发框架,提供 GPU 加速的 UI 运行时和可实时编辑的界面 DSL,支持原生与 Web 平台。
开源 Python GUI 框架,一套代码即可部署到桌面、移动和嵌入式平台。