Vercel Zero-Native:用Web技术构建原生桌面应用,两天Star破千

Zero-Native 是 Vercel Labs 最新开源的桌面应用开发框架,核心思路是用 Zig 构建原生应用外壳,内部嵌入系统 WebView(macOS 用 WKWebView,Linux 用 WebKitGTK)来承载 Web 前端界面。项目发布仅两天,GitHub Star 已突破 1200。

为什么需要 Zero-Native

目前用 Web 技术构建桌面应用的主流方案是 Electron,但 Electron 的主要问题是体积大、内存占用高——因为它需要捆绑完整的 Chromium 浏览器。

Zero-Native 的思路完全不同:

  • 使用系统 WebView:不捆绑浏览器,直接调用操作系统自带的 WebView 引擎
  • Zig 原生层:用 Zig 编写原生代码,可直接调用 C 语言的系统 SDK
  • 极小二进制:生成的应用体积比 Electron 小得多
  • 低内存占用:不需要启动独立的浏览器进程

核心特性

选择你的 Web 引擎

Zero-Native 提供两种选择:

  • 系统 WebView(默认):体积最小,性能好,但依赖用户的系统版本
  • CEF(Chromium Embedded Framework):可以捆绑 Chromium,兼容性更好,但体积更大

安全模型

WebView 默认被视为不可信环境,权限需要显式授予。这比 Electron 的安全模型更加明确。

快速原生构建

基于 Zig 的构建系统,原生层的编译速度很快,支持开发时的快速迭代。

快速开始

# 安装 CLI
npm install -g zero-native

# 创建项目
zero-native init my_app --frontend next

# 进入项目目录
cd my_app

# 构建并运行
zig build run

支持的前端框架包括 Next.js 等主流框架,开发者可以使用熟悉的 Web 技术栈来构建界面。

适合什么场景

  • 工具类应用:需要原生窗口但界面不复杂的工具软件
  • 已有 Web 项目想做桌面版:可以复用现有前端代码
  • 追求轻量:不想引入 Electron 的庞大依赖
  • Zig 开发者:想用 Zig 构建原生应用的开发者

注意事项

  • 项目目前处于 预发布阶段,API 可能有变化
  • 系统 WebView 的兼容性取决于用户的操作系统版本,不同用户可能看到略有差异的渲染效果
  • 相比 Electron 的成熟生态,Zero-Native 的社区和文档还在建设中
  • 目前主要支持 macOS 和 Linux,Windows 支持情况需查看官方文档

对于追求应用轻量化的开发者来说,Zero-Native 是一个值得关注的新选择。

来源:GitHub – vercel-labs/zero-native | zero-native.dev

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

请登录后发表评论

    暂无评论内容