Native SDK
## 项目简介 Native SDK 是由 Vercel Labs 出品的开源原生桌面应用开发工具链
项目简介
Native SDK 是由 Vercel Labs 出品的开源原生桌面应用开发工具链,旨在解决 Electron 等浏览器运行时带来的体积臃肿和性能开销问题。与传统方案不同,Native SDK 使用 Zig 作为运行时引擎,用 TypeScript 或 Zig 编写业务逻辑,用 .native 声明式标记编写界面,编译后输出不含任何浏览器运行时的单个本地二进制文件,实现「无浏览器原生性能 + Web 开发体验」的双重目标。
2026 年 6 月,项目正式从 vercel-labs/zero-native 更名为 vercel-labs/native,npm 包名为 @native-sdk/cli,主命令为 native,标志着该项目正式发布。
核心功能
1. 真正的原生渲染引擎
Native SDK 自研渲染引擎,将每个像素直接绘制到真实操作系统窗口中——无浏览器、无 WebView、无 JavaScript 运行时。编译后的二进制文件仅数 MB,相比 Electron 动辄 100MB+ 的内存占用,Native SDK 的性能优势显著。
2. 声明式 .native 标记界面
用类似 HTML/JSX 的声明式标记语言编写界面,学习曲线极低,Web 开发者几乎零成本上手。配合 Zig 的高性能执行逻辑,开发体验与生产质量并存。
3. 跨平台支持(macOS / Windows / Linux)
同一套代码同时编译至 macOS、Windows 和 Linux,平台原生标题栏、系统菜单、窗口控件均完整保留,真正实现「编写一次,到处运行」。
4. 内置 AI Agent 集成能力
Native SDK 设计时充分考虑了 AI 自动化场景:
- Automation Server:内置自动化服务器,支持 AI Agent 连接并控制界面。
- Accessibility Snapshot:实时快照界面状态,供 AI Agent 读取并理解当前 UI 结构。
- Deterministic Screenshot:确定性截图能力,AI 可截图验证操作结果,确保执行步骤正确性。 这一特性大幅降低了 AI Agent 操作桌面应用的门槛。
5. 现代化组件库
内置丰富的预制组件库,包含手风琴、面包屑导航、按钮组、下拉菜单、分页、状态栏、虚拟列表等开箱即用的组件,所有组件均遵循原生设计语言。
6. 热重载(Hot Reloading)
开发阶段修改代码后,窗口实时刷新并保留应用状态,无需完整重新编译,大幅提升开发效率。
7. 可验证的状态管理
采用 Model-Message-Update 显式状态模型,所有状态变更路径清晰可追踪,方便调试和推理程序行为。
技术实现
技术栈架构
Native SDK 的核心架构分为三层:
渲染层(Rendering Layer) 完全自研的原生渲染引擎,替代 Chromium/V8 等浏览器运行时。渲染引擎直接调用各操作系统的原生图形 API(macOS 为 Metal,Windows 为 DirectX/Windows Graphics,Linux 为 Wayland),确保最佳性能和最原生的一致外观。
逻辑层(Logic Layer) 应用业务逻辑以 TypeScript(编译为本地代码)或 Zig 编写。Zig 是首选语言,因其无隐藏控制流、无垃圾回收、内存布局完全可控,非常适合性能敏感和确定性要求高的场景。TypeScript 通过 bundler 编译为 Zig 代码再编译为原生二进制。
界面层(UI Layer) 用 .native 声明式标记语言描述界面结构和布局,文件格式类似 HTML/JSX,但语法专为桌面 UI 设计。每个 .native 文件描述一个视图层级,界面绑定通过消息(Message)机制与逻辑层通信。
自动化层(Automation Layer) 内置 Automation Server + Accessibility Snapshot + Deterministic Screenshot 三件套。AI Agent 通过 JSON-RPC 协议连接 Automation Server,发送指令让 Agent 执行点击、输入、截图等操作,并接收 Snapshot 和 Screenshot 反馈形成闭环。
编译产物
编译输出为单一自包含二进制文件,不包含任何运行时解释器。macOS 输出为 .app Bundle,Windows 为 .exe,Linux 为对应包格式,体积通常在 2-10 MB 之间。
移动端实验性支持
2026 年 7 月更新中,iOS 和 Android 的实验性主机层已推出,通过 C ABI 嵌入方式支持,在模拟器和真机上均可运行开发和打包循环。
快速上手
第一步:安装 CLI(前置:Node.js 22.15+ 和 Zig 0.16.0)
npm install -g @native-sdk/cli
CLI 安装时自动检测并下载 Zig 0.16.0(如果未安装)。
第二步:初始化新项目
native init my_app
cd my_app
这会创建一个包含三个核心文件的最小项目:src/app.native(视图)、src/core.ts(逻辑)、app.zon(清单)。
第三步:启动开发服务器
native dev
一个原生窗口会立即打开,显示可用的计数器模板应用。
第四步:修改代码体验热重载
编辑 src/app.native 或 src/core.ts,保存后窗口自动刷新,无需重新启动。
第五步:构建发布版本
native build
编译为对应平台的原生二进制文件,可直接分发给用户。
适用人群
- 桌面应用开发者:对 Electron 性能/体积不满,希望用更轻量的方案构建 macOS/Windows/Linux 桌面应用的工程师。
- AI 工具构建者:需要 AI Agent 操作桌面应用界面并验证执行结果的开发者(Native SDK 的 Automation Server 是目前最干净的方案)。
- Web 开发者:希望将 Web 开发技能迁移至原生桌面领域,但又不想学习 Qt/WPF 等传统桌面框架的开发者。
- 隐私敏感型用户/开发者:追求应用不捆绑浏览器运行时、最小化依赖和攻击面的用户。
- 性能敏感型应用场景:如数据可视化仪表盘、媒体播放器、系统监控工具等对响应速度和内存占用有严格要求的桌面工具。
与竞品对比
| 特性 | Native SDK | Electron | Tauri | Flutter |
|---|---|---|---|---|
| 渲染引擎 | 自研原生引擎 | Chromium | 系统 WebView | 自研 Skia |
| 二进制体积 | 2-10 MB | 100 MB+ | 3-8 MB | 10-30 MB |
| Web 开发者友好度 | ★★★★★ | ★★★★★ | ★★★ | ★★★ |
| AI Agent 集成 | 原生内置 | 需额外配置 | 有限 | 有限 |
| 跨平台(桌面) | macOS/Win/Lin | macOS/Win/Lin | macOS/Win/Lin | 仅桌面 |
| 移动端支持 | 实验性 | 否 | 否 | iOS/Android |
| 成熟度 | 早期 | 成熟 | 成熟 | 成熟 |
官网与资源
- GitHub:https://github.com/vercel-labs/native
- npm 包:
@native-sdk/cli - 文档:https://native-sdk.dev(如有)
- Product Hunt 发布:2026-07-10(159 票,14 条评论)
数据来源:GitHub 仓库 README、Product Hunt 发布页、技术分析文章等公开信息整理。移动端支持仍为实验性功能,生产使用前请以官方最新公告为准。
评论与建议
登录 后参与评论或提建议