用 Web 技术做桌面应用已经不是新鲜事了——Electron、Tauri 都是这个赛道的选手。但 Vercel 最近开源的 zero-native 走了一条完全不同的路:用 Zig 作为底层,Web 技术做 UI,目标是构建真正原生的、高性能的桌面应用。
项目简介
zero-native 是 Vercel Labs 推出的开源项目,它提供了一种全新的方式来构建原生桌面应用。与 Electron 不同,zero-native 不会打包一个完整的 Chromium 浏览器;与 Tauri 不同,它不依赖系统 WebView。
项目地址:https://github.com/vercel-labs/zero-native
技术架构
zero-native 的架构设计有几个关键特点:
- Zig 核心:使用 Zig 语言编写底层逻辑,包括窗口管理、系统调用、内存管理等。Zig 的编译速度快、无隐藏控制流、直接调用 C ABI,非常适合作为系统级编程语言
- Web UI 层:UI 部分使用标准的 HTML/CSS/JavaScript 构建,开发者可以用任何前端框架(React、Vue、Svelte 等)
- 原生渲染:不像 Electron 用 Chromium 渲染,zero-native 使用系统原生的渲染管线,应用体积更小、内存占用更低
- 桥接通信:Zig 层和 Web UI 层通过高效的 IPC 机制通信,支持双向调用
与 Electron、Tauri 的对比
| 特性 | Electron | Tauri | zero-native |
|---|---|---|---|
| 底层语言 | C++ (Chromium) | Rust | Zig |
| UI 渲染 | Chromium | 系统 WebView | 原生渲染 |
| 应用体积 | ~150MB+ | ~5-10MB | ~2-5MB |
| 内存占用 | 高 | 中 | 低 |
| 前端兼容 | 完全兼容 | 基本兼容 | 标准 Web |
| 成熟度 | 高 | 高 | 早期 |
快速开始
1. 安装 Zig
# macOS
brew install zig
# Linux
snap install zig --classic --beta
# 或从官网下载:https://ziglang.org/download/
2. 克隆项目
git clone https://github.com/vercel-labs/zero-native.git
cd zero-native
3. 构建示例应用
zig build run
这会编译并运行一个示例应用,展示基本的窗口创建和 Web UI 渲染。
4. 开发自己的应用
项目的目录结构如下:
zero-native/
├── src/
│ ├── main.zig # Zig 入口
│ ├── window.zig # 窗口管理
│ └── bridge.zig # Web UI 桥接
├── ui/
│ ├── index.html # 前端入口
│ ├── styles.css # 样式
│ └── app.js # 前端逻辑
└── build.zig # 构建配置
你只需要修改 ui/ 目录下的前端文件,就能自定义应用的界面和交互逻辑。
适用场景
- 轻量级桌面工具:系统监控、文件管理、配置编辑器等小工具
- 开发者工具:API 测试工具、数据库客户端、日志查看器
- 内部工具:企业内部的管理面板、数据看板
- 原型开发:快速构建桌面应用原型,验证产品想法
注意事项
- 项目目前处于早期阶段,API 可能会有较大变化
- Zig 语言的学习曲线相对较陡,需要一定的系统编程经验
- 跨平台支持还在完善中,目前 macOS 和 Linux 支持较好
- 生态系统不如 Electron 和 Tauri 成熟,社区资源较少
简评
zero-native 代表了桌面应用开发的一个有趣方向:用最高效的系统语言做底层,用最灵活的 Web 技术做 UI。虽然目前还处于早期阶段,但 Vercel 的背书和 Zig 语言的崛起让这个项目值得关注。
如果你厌倦了 Electron 的臃肿,又想要比 Tauri 更底层的控制,zero-native 可能是一个值得尝试的选择。当然,对于生产环境的应用,建议还是等项目更加成熟后再考虑迁移。
来源:












GitHub – TauricResearch/TradingAgents


GitHub – docusealco/docuseal

暂无评论内容