Repolode
justrach

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. 1

    递归克隆仓库(含子模块)

    git clone --recursive https://github.com/justrach/nanoui
  2. 2

    进入项目目录

    cd nanoui
  3. 3

    运行原生 UI 示例画廊

    zig build run-gallery
  4. 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 数据每日更新。

相关项目