# zero-native zero-native is a Zig-based desktop app shell that lets you build native desktop apps with a web UI frontend. It produces sub-megabyte binaries with minimal memory usage and instant native rebuilds. Created by [[Vercel]] Labs as an alternative to [[Tauri]] and [[Electron]]. The native layer is written in [[Zig]], which calls C directly (no binding generation, no unsafe wrappers). The frontend can use any web framework (Next.js, React, Vue, Svelte). ## Key characteristics - **System WebView** (WKWebView on macOS, WebKitGTK on Linux) for the lightest footprint, OR **Chromium/CEF** when pixel-perfect cross-platform rendering is needed — same API, different trade-off - **JS-to-native bridge**: `window.zero.invoke()` — origin-checked, permission-checked, size-limited - **Security model**: WebView is untrusted by default; native commands, navigation, and window APIs are opt-in - **`app.zon` manifest**: declares app metadata, icons, windows, web engine, security policies, bridge permissions - **Status**: pre-release (2026); macOS 11+, Linux, Windows build paths; mobile C ABI for iOS/Android embedding ## Example usage ```bash npm install -g zero-native zero-native init my_app --frontend next cd my_app zig build run ``` ## Comparison to alternatives - vs [[Tauri]]: Tauri uses Rust; zero-native uses Zig (simpler, no borrow checker). Both use system WebView. - vs [[Electron]]: Electron bundles Chromium (heavy). zero-native uses system WebView or optional CEF (lightweight by default). ## References - GitHub: https://github.com/vercel-labs/zero-native - Website: https://zero-native.dev - Quick Start: https://zero-native.dev/quick-start - App Model: https://zero-native.dev/app-model - Bridge: https://zero-native.dev/bridge - Web Engines: https://zero-native.dev/web-engines - Security: https://zero-native.dev/security ## Related - [[Tauri]] - [[Electron]] - [[Vercel]]