zero-native - ZigとWeb UIでデスクトップ+モバイルアプリをビルド
(github.com/vercel-labs)- Vercel Labsが公開したZigベースのデスクトップアプリシェルで、WebフロントエンドをMac/Windows/Linux向けのネイティブアプリにするフレームワーク
- システムWebViewを使う場合はブラウザランタイムをバンドルしないため、バイナリが小さく起動が速い
- レンダリングの一貫性が必要な場合は**Chromium(CEF)**バンドルに切り替え可能で、
app.zon(マニフェストファイル)でWebエンジンを選択 - ZigがCを直接呼び出すため、プラットフォームSDK、ネイティブライブラリ、コーデックへのアクセスに別途グルーレイヤーは不要
- WebViewをデフォルトで信頼しないセキュリティモデルを採用: ネイティブコマンド、権限、ナビゲーション、ウィンドウAPIはいずれもオプトイン方式
window.zero.invoke()でJavaScript → Zigブリッジを呼び出す際は、サイズ制限・オリジンチェック・権限チェックを適用- Next, React, Svelte, Vueのフロントエンド向けスターターテンプレートを提供し、
zig build runですぐ実行可能 - 現在はプレリリースで、Mac/Linux/Windowsのビルドパスをサポート
- モバイルはiOS/Androidホストアプリが
libzero-native.aのC ABIをリンクする埋め込み方式(サンプルあり) - Apache-2.0ライセンス
10件のコメント
このプロジェクトは、抽象化の利便性に埋没して実行性能を手放していた時代が終わりつつあることを証明しています。軽量なバイナリと高速な応答性は、ユーザー体験の本質であり、最も強力な機能です。
同意します。特に最近のようにメモリが高価な時代では、なおさらそうだと思います
結局のところ、Webアプリをネイティブアプリにするということではないんですか? よく分かっていないのですが。PWAビルダーより優れた代替になるのでしょうか..
PWAは新しいアプリを作るものではなく、Webサイトをアプリのように動作させるだけです。
ElectronやTauri、そしてこのような zero-native は、Web技術でネイティブアプリを作れるようにするフレームワークです。
PWAと違って、ネイティブAPIでOSにアクセスできるのが違いです。
OpenCode Desktop は、いくつかの理由により Tauri から Electron へ移行したようですね。
https://x.com/brendonovich/status/2045725889422610602
すごくいい(泣) 幸せ
最近、VercelでもAIベースの開発が定着してきたのか、新しいものをものすごい勢いで次々に出していますね。
既存のものへの機能追加も速いです。agent-browser、portless、json-render など
Zero-native は、どことなくTauriのZig版のような感じ
Tauri (Rust) vs Zero-Native (zig) vs Wails (go)
Tauri 2.0 正式リリース
Wails - Goを使ったデスクトップアプリケーション開発フレームワーク
vercel labsの最近の成果物は、実質的にChris Tateがほぼ一人で次々と生み出しているのですが、本当にすごいと思います。
https://x.com/ctatedev
それでも安定性はElectronのほうではないですか?
Electron はまずメモリ負荷が大きすぎるんですよね。システムの WebView だけで十分なアプリなら、こういう代替手段のほうが良い気がします。