Jarred Sumner, tvůrce a hlavní vývojář serverové JavaScriptové platformy Bun, prohlásil svůj experiment s přepsáním projektu ze Zigu a Rustu s využitím asistenta umělé inteligence Clauda Code za úspěšný a rozhodl se migrovat Bun do Rustu. Přepsaný kód z Rustu již byl přijat do hlavního repozitáře projektu a kód Zigu je naplánován k odstranění. Autor Bunu také oznámil najmutí podpůrného personálu s více než pětiletými zkušenostmi s vývojem v C/C++ a Rustu.
V současné době je v Rustu implementován přímý port jazyka Zig. Obsahuje řadu bloků nebezpečného kódu a používá stejnou architekturu, datové struktury a stávající externí knihovny. Port v Rustu úspěšně prošel stávající sadou testů na všech platformách. Bylo také opraveno několik úniků paměti a selhání testů.
Po sestavení verze pro Rust byl spustitelný soubor o 3–8 MB menší než verze pro Zig. V testech výkonu byla verze pro Rust buď rychlejší, nebo srovnatelná. Podle Jarreda však nejdůležitější výhodou verze pro Rust byla schopnost zachytit a předcházet chybám paměti, což byl v posledních letech pro vývojáře Bunu velmi časově náročný úkol.
Důvody pro přepsání do Rustu byly dříve uváděny jako snaha opravit problémy v Bunu způsobené úniky paměti, neshody s autory Zigu ohledně používání umělé inteligence pro psaní kódu a politika Zigu ohledně přijímání změn jazyka, které narušují kompatibilitu, což je pro velké projekty nepřijatelné.
Platforma Bun JavaScript je vyvíjena jako vysoce výkonná alternativa k Node.js a Deno. Projekt je vyvíjen s ohledem na kompatibilitu se serverovými aplikacemi Node.js a podporuje většinu API Node.js. Platforma obsahuje sadu nástrojů pro vytváření a spouštění aplikací JavaScript a TypeScript, stejně jako běhové prostředí pro spouštění aplikací JavaScript bez prohlížeče, správce balíčků (kompatibilní s NPM), testovací nástroje, samostatný nástroj pro tvorbu balíčků a vrstvu pro vkládání obslužných rutin napsaných v jazyce C. Z hlediska výkonu Bun výrazně překonává Deno a Node.js (v testech založených na frameworku React Bun překonává Deno faktorem 2 a Node.js faktorem téměř 5). Spouštění JavaScriptu je podporováno JavaScriptovým enginem JavaScriptCore a komponentami WebKit s dalšími záplatami.
Zdroj: opennet.ru
