
zero-native 是 Vercel Labs 新放出的一个原生应用框架,目标很直接:用 Web UI 构建桌面应用,但尽量摆脱大体积运行时和笨重胶水层。它用 Zig 作为原生 shell,前端可以继续使用 Next.js、React、Svelte、Vue 等熟悉的 Web 技术。
它的核心取舍在于 Web 引擎可选。如果你想要最小体积和更轻的内存占用,可以使用系统 WebView,macOS 上对应 WKWebView,Linux 上对应 WebKitGTK;如果产品更看重跨平台渲染一致性,也可以通过 CEF 打包 Chromium,把 Web 平台版本固定下来。
和传统 WebView 外壳相比,zero-native 把原生层放在 Zig 里:应用由 App 描述,Runtime 负责事件循环、窗口、桥接、自动化、追踪和平台服务;app.zon 则声明应用元数据、窗口、图标、前端资产、Web 引擎、安全策略和打包输入。
它还比较强调显式安全模型。WebView 默认被当作不可信环境,JavaScript 通过 window.zero.invoke() 调 Zig 原生能力时,会经过调用大小限制、来源检查、权限检查,并且只路由到注册过的 handler。导航、外部链接、窗口 API 和 native command 都需要在策略里明确放行。
目前 zero-native 仍处在 pre-release 阶段,桌面构建路径覆盖 macOS、Linux 和 Windows,仓库也提供 Next、React、Svelte、Vue 示例,以及 iOS / Android host app 通过 C ABI 链接 libzero-native.a 的嵌入示例。安装 CLI 后,可以用 zero-native init my_app --frontend next 初始化,再通过 zig build run 启动。
传送门
https://github.com/vercel-labs/zero-native
原创文章,如若转载,请注明出处:https://wefound.cc/p/1814.html