Analisi AI · Italiano
openai · gpt-4o-miniSintesi
zero-native è un framework che consente di costruire applicazioni desktop e mobile utilizzando Zig e interfacce utente web. Permette di creare app native leggere con tempi di avvio rapidi e supporto per vari motori web. È progettato per sviluppatori che vogliono integrare logica nativa con interfacce utente moderne.
Casi d'uso
- →Sviluppare applicazioni desktop leggere e veloci.
- →Creare app mobile con interfacce web integrate.
- →Utilizzare Zig per gestire logiche native in applicazioni web.
- →Integrare diversi motori web a seconda delle esigenze del progetto.
- →Sfruttare un modello di sicurezza esplicito per applicazioni web.
Idee SaaS / Business
Utilizzare zero-native per creare una piattaforma che consenta agli utenti di sviluppare applicazioni desktop e mobile senza scrivere codice, utilizzando interfacce grafiche intuitive.
Offrire un servizio di hosting e distribuzione per applicazioni create con zero-native, semplificando il processo di deploy per gli sviluppatori.
Creare un marketplace dove gli sviluppatori possono vendere o scambiare componenti e moduli per applicazioni zero-native, facilitando lo sviluppo e la personalizzazione.
README · tradotto in italiano
zero-native
Costruisci app desktop native con interfaccia web. Binarie piccole. Memoria minima. Ricostruzioni istantanee.
zero-native è una shell per app desktop Zig per frontend web moderni. Usa il WebView di sistema quando desideri l'app più piccola possibile, oppure bundla Chromium tramite CEF quando la coerenza di rendering è importante.
Inizio veloce
Installa il CLI:
npm install -g zero-native
Crea ed esegui un'app:
zero-native init my_app --frontend next
cd my_app
zig build run
La prima esecuzione installa le dipendenze del frontend, costruisce la shell nativa generata e apre una finestra desktop che rende la tua interfaccia web.
Leggi la guida completa su zero-native.dev/quick-start.
Perché zero-native
Piccolo e veloce
Le app WebView di sistema non bundlano un runtime del browser, quindi la shell nativa rimane piccola e si avvia rapidamente. La tua app utilizza WKWebView su macOS e WebKitGTK su Linux.
Scegli il tuo motore web
Scegli il motore che si adatta al prodotto. Il WebView di sistema offre un'impronta nativa leggera. Chromium tramite CEF offre un rendering prevedibile e una piattaforma web fissata sui target supportati.
Ricostruzioni native veloci
Lo strato nativo è Zig, quindi la logica dell'app, i comandi del bridge e le integrazioni di piattaforma si ricompilano rapidamente. Il tuo frontend può comunque utilizzare gli strumenti web che già conosci.
Potere nativo senza pesanti collegamenti
Zig chiama C direttamente, il che mantiene SDK di piattaforma, librerie native, codec e integrazioni di sistema locale a portata di mano quando lo strato WebView deve svolgere un lavoro nativo reale.
Modello di sicurezza esplicito
Il WebView è trattato come non affidabile per impostazione predefinita. I comandi nativi, le autorizzazioni, la navigazione, i link esterni e le API della finestra sono opt-in e controllati dalla policy.
Stato
zero-native è in pre-release. Il supporto desktop copre ora macOS 11+, Linux e percorsi di build per Windows, con Chromium/CEF distribuito come runtime specifici per piattaforma.
Concetti chiave
App è il piccolo oggetto Zig che descrive la tua applicazione: nome, sorgente WebView, hook del ciclo di vita e servizi nativi opzionali.
Runtime possiede il ciclo di eventi, le finestre, il dispatch del bridge, gli hook di automazione, il tracciamento e i servizi di piattaforma.
WebViewSource dice al runtime cosa caricare: HTML inline, un URL o asset frontend impacchettati serviti da un'origine app locale.
app.zon è il manifesto dell'app. Dichiara i metadati dell'app, le icone, le finestre, gli asset frontend, la selezione del motore web, la policy di sicurezza, le autorizzazioni del bridge e gli input di packaging.
window.zero.invoke() è il bridge JavaScript-to-Zig. Le chiamate sono limitate in dimensione, controllate per origine, controllate per autorizzazione e instradate solo ai gestori registrati.
Configurazione
La maggior parte del comportamento a livello di progetto vive in app.zon:
.{
.id = "com.example.my-app",
.name = "my-app",
.display_name = "My App",
.version = "0.1.0",
.web_engine = "system",
.permissions = .{ "window" },
.capabilities = .{ "webview", "js_bridge" },
.security = .{
.navigation = .{
.allowed_origins = .{ "zero://app", "http://127.0.0.1:5173" },
},
},
.windows = .{
.{ .label = "main", .title = "My App", .width = 960, .height = 640 },
},
}
Usa .web_engine = "system" per il WebView di piattaforma. Su build macOS supportate, usa .web_engine = "chromium" con una configurazione .cef quando desideri bundlare Chromium.
Documentazione
La documentazione completa è su zero-native.dev.
Esempi
Esempi di avvio specifici per framework vivono in examples/:
examples/nextexamples/reactexamples/svelteexamples/vue
Ogni esempio è un'app zero-native completa con app.zon, una shell Zig e un progetto frontend minimo. Esegui uno con zig build run dalla sua directory.
Esempi di embedding mobile sono disponibili anche:
examples/iosexamples/android
Questi mostrano come un'app host iOS o Android collega l'ABI C di zero-native da libzero-native.a.
Per lo sviluppo locale di framework, vedi CONTRIBUTING.md...
Attività commit · ultime 26 settimane
stimaApprofondimenti AI
Chiedi al repo
AI · contesto README + issueFai una domanda sul progetto. L'AI legge README e issue recenti.
Hai bisogno di un server per far girare vercel-labs/zero-native?
Abbiamo testato decine di provider e Hostinger VPS è il miglior rapporto qualità/prezzo per self-hostare le repo che trovi qui. Setup in 1 click, pannello semplice e supporto 24/7.
Questo progetto esiste grazie a voi
RepoRadar AI è gratis e senza pubblicità. Le donazioni coprono server, API e modelli AI.
Ogni analisi tradotta che leggi costa qualche centesimo di chiamate al modello. Se RepoRadar ti ha fatto risparmiare tempo, considera una piccola donazione cripto — anche pochi euro aiutano a mantenere il servizio libero per tutti.
0x86ECDF546d8dFc0739d44c066A6110F11cdB7773bc1qqe0wcmhnt78enk8ql0lxvey4z8hquxsxjtyz8rEtTK61Lz7kfdDM8543TMMiAUUTbFVpzX5tvPEcBtZ3ajGrazie di cuore — ogni contributo conta.