zero-native - créer des apps desktop + mobiles avec Zig et une UI web
(github.com/vercel-labs)- Framework de shell d’application desktop basé sur Zig publié par Vercel Labs, qui permet de transformer un frontend web en application native pour macOS/Windows/Linux
- En utilisant le WebView système, il n’embarque pas de runtime navigateur, ce qui réduit la taille du binaire et accélère l’exécution
- Si une cohérence de rendu est nécessaire, il est possible de basculer vers un bundle Chromium (CEF) ; le moteur web se choisit dans
app.zon(fichier manifeste) - Comme Zig appelle directement le C, il n’y a pas besoin de couche glue supplémentaire pour accéder aux SDK de plateforme, aux bibliothèques natives et aux codecs
- Adoption par défaut d’un modèle de sécurité qui ne fait pas confiance au WebView : commandes natives, permissions, navigation et API de fenêtre sont toutes en opt-in
- Lors des appels au bridge JavaScript → Zig via
window.zero.invoke(), des limites de taille, des vérifications d’origine et des contrôles d’autorisation sont appliqués - Des modèles de démarrage pour les frontends Next, React, Svelte, Vue sont fournis, avec exécution immédiate via
zig build run - Actuellement en préversion, avec prise en charge des chemins de build pour macOS/Linux/Windows
- Pour le mobile, iOS/Android utilisent une méthode d’intégration où l’application hôte lie l’ABI C de
libzero-native.a(exemples inclus) - Licence Apache-2.0
10 commentaires
Ce projet montre bien que l’époque où l’on sacrifiait les performances d’exécution au confort des abstractions touche à sa fin. Un binaire léger et une grande rapidité de réponse sont au cœur de l’expérience utilisateur et constituent la fonctionnalité la plus puissante.
Je suis d’accord. Surtout à une époque comme aujourd’hui, où la mémoire coûte cher, cela me semble d’autant plus vrai.
En fin de compte, est-ce que ça ne revient pas à transformer une web app en application native ? Je ne connais pas très bien le sujet. Est-ce que ça peut être une meilleure alternative qu’un builder PWA..
Une PWA ne crée pas une nouvelle application ; elle permet simplement à un site web de fonctionner comme une application.
Electron, Tauri ou quelque chose comme zero-native sont des frameworks qui permettent de créer des applications natives avec des technologies web.
La différence avec une PWA, c’est qu’ils peuvent accéder à l’OS via des API natives.
OpenCode Desktop semble être passé de Tauri à Electron pour plusieurs raisons.
https://x.com/brendonovich/status/2045725889422610602
Trop bien, je suis tellement content
On dirait qu’en ce moment, même chez Vercel, le développement basé sur l’IA a trouvé sa place, vu la quantité de nouveautés qu’ils sortent.
Les ajouts de fonctionnalités sur les produits existants vont aussi très vite. agent-browser, portless, json-render, etc.
Zero-native donne un peu l’impression d’être une version Zig de Tauri.
Tauri (Rust) vs Zero-Native (zig) vs Wails (go)
Tauri 2.0 officiellement disponible
Wails - Framework de développement d’applications desktop en Go
Ces derniers résultats de Vercel Labs sont en réalité pratiquement tous produits par Chris Tate à lui seul, et c’est vraiment impressionnant.
https://x.com/ctatedev
Mais la stabilité, ce n’est pas plutôt Electron ?
Electron est déjà trop lourd, ne serait-ce qu’en mémoire. Pour les applications où la WebView système suffit, ce genre d’alternatives me semble meilleur.