Traduzione approvata della piattaforma JavaScript Bun nel linguaggio Rust

Jarred Sumner, creatore e sviluppatore principale della piattaforma server JavaScript Bun, ha riconosciuto come un successo l'esperimento di riscrivere il progetto in Zig e Rust con l'aiuto dell'assistente AI Claude Code, e ha deciso di trasferire Bun nel linguaggio Rust. La versione riscritta in Rust è già stata accettata nel repository principale del progetto, mentre il codice in Zig è previsto per l'eliminazione. Inoltre, l'autore di Bun ha annunciato l'assunzione di collaboratori per supportare Bun, con oltre 5 anni di esperienza nello sviluppo in C/C++ e Rust.

Attualmente, è stato implementato in Rust un port diretto dal linguaggio Zig, che include numerosi blocchi di codice unsafe, utilizzando la stessa architettura, le stesse strutture dati e le precedenti librerie esterne. Si segnala che il port in Rust ha superato con successo il test con l'attuale set di test su tutte le piattaforme. Sono state inoltre risolte diverse perdite di memoria e guasti nei test.

Dopo la compilazione della versione in Rust, il file eseguibile risulta essere di 3-8 MB più leggero rispetto alla compilazione della versione in Zig. Nei test di prestazioni, la versione in Rust si è dimostrata più veloce o equivalente. Secondo Jarred, il vantaggio più importante della versione in Rust è stata la capacità di rilevare e prevenire errori nella gestione della memoria, la cui diagnosi negli ultimi anni ha rubato molto tempo agli sviluppatori di Bun.

Come motivo per la riscrittura in Rust, è stata precedentemente evidenziata la volontà di risolvere i problemi in Bun causati da perdite di memoria, le divergenze con gli autori di Zig riguardo all'uso di AI per la scrittura di codice e la politica inaccettabile per grandi progetti di Zig riguardo all'accettazione di modifiche al linguaggio che compromettono la compatibilità.

La piattaforma JavaScript Bun si sta sviluppando come un'alternativa ad alte prestazioni alle piattaforme Node.js e Deno. Il progetto viene sviluppato con uno sguardo alla compatibilità con le applicazioni server per Node.js e supporta gran parte delle API di Node.js. La piattaforma include un insieme di strumenti per la creazione e l'esecuzione di applicazioni in JavaScript e TypeScript, oltre a un runtime per eseguire applicazioni JavaScript senza browser, un gestore di pacchetti (compatibile con NPM), un toolkit per l'esecuzione dei test, un sistema di assemblaggio di pacchetti autonomi e un layer per integrare 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 eseguire 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