Se ha aprobado la traducción de la plataforma JavaScript Bun al lenguaje Rust.

Jarred Sumner, creador y principal desarrollador de la plataforma JavaScript para servidores Bun, ha reconocido el experimento exitoso de reescribir el proyecto en los lenguajes Zig y Rust con la ayuda del asistente AI Claude Code, y ha tomado la decisión de trasladar Bun al lenguaje Rust. La versión reescrita en Rust ya ha sido aceptada en el repositorio principal del proyecto, y el código en Zig está programado para ser eliminado. Además, el autor de Bun ha anunciado la contratación de personal para apoyar Bun, con más de 5 años de experiencia en el desarrollo en C/C++ y Rust.

Actualmente, se ha implementado un puerto directo en Rust desde Zig, que incluye numerosos bloques de código unsafe, utiliza la misma arquitectura, las mismas estructuras de datos y las bibliotecas externas anteriores. Se destaca que el puerto en Rust ha pasado exitosamente la verificación con las pruebas existentes en todas las plataformas. Al mismo tiempo, se han corregido varias fugas de memoria y fallos en las pruebas.

Después de compilar la versión en Rust, el archivo ejecutable resultó ser de 3 a 8 MB más pequeño que al compilar la versión en Zig. En las pruebas de rendimiento, la versión en Rust demostró ser igual de rápida o más rápida. Sin embargo, según Jarred, la ventaja más importante de la versión en Rust es la capacidad de detectar y prevenir errores en la gestión de memoria, cuyo diagnóstico ha consumido mucho tiempo de los desarrolladores de Bun en los últimos años.

Como razón para la reescritura en Rust, se había señalado anteriormente el deseo de solucionar los problemas en Bun causados por fugas de memoria, las discrepancias con los autores de Zig en cuanto al uso de AI para escribir código y la política inaceptable de Zig sobre la aceptación de cambios en el lenguaje que rompen la compatibilidad para proyectos importantes.

La plataforma JavaScript Bun se desarrolla como un análogo de alto rendimiento de las plataformas Node.js y Deno. El proyecto se desarrolla con el objetivo de garantizar la compatibilidad con aplicaciones de servidor para Node.js y admite la mayor parte de la API de Node.js. La plataforma incluye un conjunto de herramientas para crear y ejecutar aplicaciones en JavaScript y TypeScript, así como un runtime para ejecutar aplicaciones JavaScript sin navegador, un gestor de paquetes (compatible con NPM), herramientas para realizar pruebas, un sistema de construcción de paquetes autónomos y una capa para integrar controladores escritos en C. En términos de rendimiento, Bun supera notablemente a Deno y Node.js (en pruebas basadas en el marco React, la plataforma Bun supera a Deno por 2 veces y casi a Node.js por 5 veces). Para ejecutar JavaScript se utiliza el motor JavaScriptCore y componentes del proyecto WebKit con parches adicionales.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster