La traduction de la plateforme JavaScript Bun en Rust a été approuvée.

Jarred Sumner, créateur et développeur principal de la plateforme JavaScript serveur Bun, a reconnu le succès de l'expérimentation consistant à réécrire le projet en utilisant les langages Zig et Rust avec l'assistant AI Claude Code, et a décidé de transférer Bun vers le langage Rust. La version réécrite en Rust a déjà été acceptée dans le dépôt principal du projet, tandis que le code en Zig est prévu pour être supprimé. L'auteur de Bun a également annoncé le recrutement de personnel pour soutenir Bun, avec plus de 5 ans d'expérience en développement sur C/C++ et Rust.

Actuellement, un port direct de Zig vers Rust a été réalisé, comprenant de nombreux blocs de code non sécurisé, utilisant la même architecture, les mêmes structures de données et les anciennes bibliothèques externes. Il est noté que le port vers Rust a réussi à passer les tests existants sur toutes les plateformes. En parallèle, plusieurs fuites de mémoire et échecs de tests ont été corrigés.

Après la compilation de la version en Rust, l'exécutable s'est avéré être de 3 à 8 Mo plus léger que lors de la compilation de la version en Zig. Dans les tests de performance, la version en Rust s'est révélée soit plus rapide, soit à un niveau équivalent. Selon Jarred, le principal avantage de la version en Rust est la possibilité de détecter et de prévenir les erreurs de gestion de la mémoire, dont le diagnostic avait coûté des heures de travail aux développeurs de Bun ces dernières années.

Comme raison de la réécriture en Rust, il a été précédemment souligné le désir de résoudre les problèmes de Bun causés par des fuites de mémoire, ainsi que des désaccords avec les auteurs de Zig sur l'utilisation de l'IA pour l'écriture de code et la politique inacceptable de Zig concernant les changements affectant la compatibilité pour les grands projets.

La plateforme JavaScript Bun évolue comme un équivalent haute performance des plateformes Node.js et Deno. Le projet est développé en gardant à l'esprit la compatibilité avec les applications serveur pour Node.js et supporte la plupart des API de Node.js. La plateforme comprend un ensemble d'outils pour créer et exécuter des applications en JavaScript et TypeScript, ainsi qu'un runtime pour exécuter des applications JavaScript sans navigateur, un gestionnaire de paquets (compatible avec NPM), des outils pour effectuer des tests, un système de construction de paquets autonomes et une couche pour intégrer des gestionnaires écrits en C. En termes de performance, Bun surpasse nettement Deno et Node.js (dans les tests basés sur le framework React, la plateforme Bun surpasse Deno par 2 fois et presque par 5 fois Node.js). Pour l'exécution de JavaScript, le moteur JavaScriptCore et les composants du projet WebKit avec des patches supplémentaires sont utilisés.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster