Zero-Native:用 Zig + Web UI 同时构建桌面和移动 App
写一个 App 要同时支持 iOS、Android、macOS、Windows、Linux——传统方案是学多门语言、用多套框架、维护多套代码库。
Zero-Native 的思路:用一种语言(Zig)+ 一套 UI(Web)构建所有平台的应用。
Zero-Native 是什么
GitHub: https://github.com/vercel-labs/zero-native Stars: 3,038 ⭐ | 开发方: Vercel Labs
Zero-Native 是一个实验性框架,核心思路:
- 用 Zig 写核心逻辑(高性能、跨平台编译)
- 用 Web UI(HTML/CSS/JS)写界面
- 编译到:macOS / Windows / Linux / iOS / Android / Web
// Zig 核心逻辑
pub fn calculate(x: i32) i32 {
return x * 2;
}
// 编译到所有平台
// zig build -target <platform>
<!-- Web UI -->
<!DOCTYPE html>
<html>
<body>
<button onclick="result.innerText = calculate(21)">计算</button>
</body>
</html>
为什么值得关注
1. Vercel 背书
Vercel Labs 出品,意味着它不是个人玩具,而是认真在做的基础设施。他们的目标很明确:让 Web 开发者也能做原生 App。
2. Zig 的优势
- 编译到任意平台(不需要运行时)
- 性能接近 C(比 Electron 轻得多)
- 二进制文件小(不需要 Node.js 捆绑)
3. Web UI 的生态
你不需要学 Swift/Kotlin/Flutter,用现有的 Web 技术栈(React/Vue/Svelte)就能写原生 App。组件库、动画库、生态工具全部复用。
和其他方案对比
| 方案 | 语言 | 性能 | 包大小 | 学习成本 |
|---|---|---|---|---|
| React Native | JS/TS | 中 | 中 | 低 |
| Flutter | Dart | 高 | 大 | 中 |
| Electron | Node.js | 低 | 极大 | 低 |
| Zero-Native | Zig | 高 | 小 | 中 |
| Tauri | Rust | 高 | 小 | 中 |
Zero-Native 的定位:Electron 的性能 + Flutter 的跨平台 + Web 的开发体验。
当前状态
这是 Vercel Labs 的实验性项目,生产环境使用需谨慎(API 可能变化、文档不完整)。
但如果你对跨平台开发感兴趣,或者想了解 Zig 在应用层的可能性,这个项目值得围观。
结语
Zero-Native 代表了一个趋势:Web 技术栈向原生 App 渗透。以前是"网页版 App",现在是"用 Web 技术写原生 App"。
核心逻辑用 Zig 保证性能,界面用 Web 保证效率——这是一个务实的思路。
相关链接
- GitHub: https://github.com/vercel-labs/zero-native
- Zig 官网: https://ziglang.org
- 标签: 跨平台开发, Zig, Web UI, 桌面应用, 移动应用