zero-native:Vercel 出品,用 Zig 和 Web 技术构建原生桌面应用

用 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 可能是一个值得尝试的选择。当然,对于生产环境的应用,建议还是等项目更加成熟后再考虑迁移。

来源:

© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容