Approvata la migrazione della piattaforma JavaScript Bun al linguaggio Rust

Jarred Sumner, creatore e principale sviluppatore della piattaforma server JavaScript Bun, ha riconosciuto come un esperimento riuscito la riscrittura del progetto dai linguaggi Zig e Rust utilizzando l'assistente AI Claude Code, e ha deciso di migrare Bun al linguaggio Rust. La versione riscritta in Rust è già stata accettata nel repository principale del progetto, mentre il codice in Zig è programmato per essere rimosso. Inoltre, l'autore di Bun ha annunciato l'assunzione di personale per supportare Bun, con più di 5 anni di esperienza nello sviluppo in C/C++ e Rust.

Attualmente, su Rust è stata implementata una porta diretta dal linguaggio Zig, che include numerosi blocchi di codice unsafe, utilizza la stessa architettura, le stesse strutture dati e le precedenti librerie esterne. Si segnala che la porta su Rust ha superato con successo i test esistenti su tutte le piattaforme. Nel contempo, sono state corrette diverse perdite di memoria e errori nei test.

Dopo la costruzione della versione in Rust, il file eseguibile è risultato essere di 3-8 MB più leggero rispetto alla costruzione della versione in Zig. Nei test di prestazioni, la versione in Rust si è comportata sia in modo più veloce che sullo stesso livello. Secondo Jarred, il principale vantaggio della versione in Rust è stato la possibilità di catturare e prevenire errori nella gestione della memoria, la cui diagnosi ha rubato moltissimo tempo agli sviluppatori di Bun negli ultimi anni.

Tra i motivi per la riscrittura in Rust si erano già segnalate la volontà di risolvere i problemi in Bun causati dalle perdite di memoria, disaccordi con gli autori di Zig riguardo all'uso dell'IA per la scrittura del codice e una politica di Zig inaccettabile per grandi progetti riguardo all'adozione di cambiamenti nel linguaggio che violano la compatibilità.

La piattaforma JavaScript Bun si sviluppa come un'alternativa ad alte prestazioni alle piattaforme Node.js e Deno. Il progetto è progettato per garantire compatibilità con le applicazioni server per Node.js e supporta gran parte dell'API di Node.js. La piattaforma include un insieme di strumenti per la creazione e l'esecuzione di applicazioni in JavaScript e TypeScript, un runtime per l'esecuzione di applicazioni JavaScript senza browser, un gestore di pacchetti compatibile con NPM, strumenti per l'esecuzione dei test, un sistema di build per pacchetti autonomi e uno strato per l'integrazione di gestori scritti in linguaggio C. In termini di prestazioni, Bun supera nettamente Deno e Node.js (nei test basati sul framework React, la piattaforma Bun supera Deno di 2 volte e quasi 5 volte Node.js). Per l'esecuzione di JavaScript viene utilizzato il motore JavaScript JavaScriptCore e i componenti del progetto WebKit con patch aggiuntive.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster