JavaScript-ramverket Bun har godkänts för översättning till Rust.

Джарред Самнер (Jarred Sumner), создатель и основной разработчик серверной JavaScript-платформы Bun, признал успешным эксперимент по переписыванию проекта с языка Zig и Rust при помощи AI-ассистента Claude Code, и принял решение о переводе Bun на язык Rust. Переписанный вариант на языке Rust уже принят в основной репозиторий проекта, а код на языке Zig намечен к удалению. Также автор Bun объявил о найме сотрудников для поддержки Bun, имеющих более 5 лет опыта разработки на языках C/C++ и Rust.

На данный момент на Rust реализован прямой порт с языка Zig, который включает множество блоков unsafe кода, использует ту же архитектуру, те же структуры данных и прежние внешние библиотеки. Отмечается, что порт на Rust успешно прошёл проверку существующим тестовым набором на всех платформах. Попутно было устранено несколько утечек памяти и сбоев в тестах.

После сборки версии на Rust исполняемый файл получился на 3-8 МБ меньше, чем при сборке версии на Zig. В тестах производительности версия на Rust оказалась либо быстрее, либо на том же уровне. При этом по мнению Джарред самым важным преимуществом варианта на Rust стала возможность отлавливания и предотвращения ошибок при работе с памятью, диагностика которых последние годы отнимала у разработчиков Bun уйму времени.

В качестве причины переписывания на Rust ранее отмечалось желание устранить проблемы в Bun, вызванные утечками памяти, наличие разногласий с авторами Zig в плане применения AI для написания кода и неприемлемая для крупных проектов политика Zig в отношении принятия в язык изменений, нарушающих совместимость.

JavaScript-plattformen Bun utvecklas som ett högpresterande alternativ till Node.js och Deno. Projektet utvecklas med kompatibilitet i åtanke för Node.js-serverapplikationer och stöder de flesta av Node.js API. Plattformen innehåller en uppsättning verktyg för att skapa och köra JavaScript- och TypeScript-applikationer, samt en runtime för att köra JavaScript-applikationer utan webbläsare, en pakethanterare (kompatibel med NPM), testverktyg, en fristående paketbyggare och ett lager för att bädda in hanterare skrivna i C. Prestandamässigt överträffar Bun Deno och Node.js avsevärt (i tester baserade på React-ramverket överträffar Bun Deno med en faktor 2 och Node.js med en faktor 5). JavaScript-körning stöds av JavaScriptCore JavaScript-motorn och WebKit-komponenter med ytterligare patchar.

Källa: opennet.ru

Köp pålitlig hosting för webbplatser med DDoS-skydd, VPS VDS-servrar 🔥 Köp pålitlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster