Die Übertragung der JavaScript-Plattform Bun auf die Programmiersprache Rust wurde genehmigt.

Jarred Sumner, der Schöpfer und Hauptentwickler der serverseitigen JavaScript-Plattform Bun, erkannte den erfolgreichen Versuch, das Projekt mit Hilfe des KI-Assistenzsystems Claude Code von Zig und Rust umzuschreiben, und entschied sich, Bun auf die Sprache Rust zu portieren. Die umgeschriebene Version in Rust wurde bereits in das Hauptrepository des Projekts aufgenommen, während der Code in Zig zur Löschung vorgesehen ist. Außerdem kündigte der Autor von Bun die Einstellung von Mitarbeitern an, die Bun unterstützen und über mehr als 5 Jahre Erfahrung in der Entwicklung mit C/C++ und Rust verfügen.

Derzeit wird in Rust ein direkter Port von Zig umgesetzt, der viele Blöcke unsicheren Codes umfasst, dieselbe Architektur, dieselben Datenstrukturen und die vorherigen externen Bibliotheken verwendet. Es wird festgestellt, dass der Port in Rust erfolgreich den bestehenden Testlauf auf allen Plattformen bestanden hat. Gleichzeitig wurden mehrere Speicherlecks und Fehler in den Tests behoben.

Nach dem Build der Version in Rust war die ausführbare Datei um 3-8 MB kleiner als beim Build der Version in Zig. In den Leistungstests stellte sich heraus, dass die Version in Rust entweder schneller oder auf demselben Niveau war. Jarred zufolge war das wichtigste Vorteil der Version in Rust die Möglichkeit, Fehler bei der Arbeit mit dem Speicher zu erfassen und zu verhindern, deren Diagnose in den letzten Jahren den Entwicklern von Bun viel Zeit gestohlen hat.

Als Grund für die Umschreibung in Rust wurde zuvor der Wunsch geäußert, Probleme in Bun zu beseitigen, die durch Speicherlecks verursacht wurden, sowie Uneinigkeit mit den Autoren von Zig in Bezug auf den Einsatz von KI zum Schreiben von Code und die für große Projekte unvertretbare Politik von Zig in Bezug auf die Einführung von Änderungen, die die Kompatibilität verletzen.

Die JavaScript-Plattform Bun entwickelt sich als leistungsfähige Alternative zu den Plattformen Node.js und Deno. Das Projekt wird unter Berücksichtigung der Kompatibilität mit Serveranwendungen für Node.js entwickelt und unterstützt den Großteil der Node.js-API. Die Plattform umfasst eine Reihe von Werkzeugen zur Erstellung und Ausführung von Anwendungen in den Sprachen JavaScript und TypeScript sowie eine Laufzeitumgebung zur Ausführung von JavaScript-Anwendungen ohne Browser, einen Paketmanager (kompatibel mit NPM), Werkzeuge für die Durchführung von Tests, ein Build-System für selbstständige Pakete und eine Schicht zur Einbettung von in C geschriebenen Handlern. In Bezug auf die Leistung überholt Bun Deno und Node.js deutlich (in Tests mit dem React-Framework überholt Bun Deno um das Zweifache und Node.js um fast das Fünffache). Für die Ausführung von JavaScript wird der JavaScript-Engine JavaScriptCore und Komponenten des WebKit-Projekts mit zusätzlichen Patches eingesetzt.

Quelle: opennet.ru

60GB SSD 8Gb DDR4