Un terzo runtime, compatibile Node
Dopo Node.js (2009) e Deno (2020), un terzo contendente: Bun, fondato da Jarred Sumner in Oven Labs (2022). La versione 1.0 è rilasciata l’8 settembre 2023. Licenza MIT.
Bun è scritto in Zig (linguaggio sistemistico emergente, C-compatibile con memory safety opzionale) e usa JavaScriptCore (motore di Safari) invece di V8 (Chrome/Node/Deno). Scelte che spiegano parte delle performance.
Tre tool in un binario
Bun è deliberatamente all-in-one:
- Runtime — esegue JS/TS, compatibile Node.js API (filesystem, HTTP, buffer, stream, timer, ecc.)
- Package manager —
bun installcompatibile con package.json e node_modules, significativamente più veloce di npm/yarn/pnpm - Bundler —
bun buildalternativa a Webpack/Vite per task semplici - Test runner —
bun testcon API compatibile Jest bun x— esecutore di binari temporanei, alternativa a npx- File server built-in con hot reload
Performance
Benchmark pubblicati da Oven e terze parti:
- bun install 10-30x più veloce di npm
- bun run startup 3-4x più veloce di node
- bun build comparable a esbuild
- HTTP server built-in throughput 2-3x di Node.js native
Le performance sono genuine per workload puri; il vantaggio si riduce quando il collo di bottiglia è I/O esterno (rete, disco).
Node.js compatibility
Bun punta a sostituzione drop-in di Node.js dove possibile. La compatibilità API è documentata e monitorata; al 2023-2024 la maggioranza di librerie npm gira senza modifiche. Alcuni casi particolari (native addons, API interne di Node) rimangono non pienamente supportati.
Bun SQLite built-in
Bun include bun:sqlite — SQLite binding built-in, veloce come l’originale C. Utile per script, prototyping, edge computing.
Adozione
Al 2023-2024 Bun è ancora early-adopter:
- Package installer rapido — uso partial per npm install in CI
- Scripting e utility CLI
- Edge computing — bun run su Cloudflare Workers (via custom runtime)
L’uso in produzione di applicazioni core richiede cautela per la compatibilità imperfetta con Node.js; molti team lo usano come tooling secondario piuttosto che runtime primario.
Nel contesto italiano
Presenza limitata, sperimentale in startup e team freelance italiani.
Riferimenti: Bun 1.0 (8 settembre 2023). Jarred Sumner, Oven Labs (fondata 2022). Licenza MIT. Linguaggio Zig. JavaScriptCore engine. All-in-one: runtime + bundler + package manager + test runner.
