Bbabo NET

Wetenschap & Technologie Nieuws

Bun 1.1, een JavaScript- en TypeScript-runtime, is uitgebracht

Op 1 april 2024 werd Bun 1.1 uitgebracht - een JavaScript- en TypeScript-runtime met de mogelijkheid om code te debuggen en ondersteuning voor populaire webframeworks. Deze gebeurtenis vond plaats zes maanden na de release van de eerste grote versie van het Bun 1.0-project. Gedurende deze tijd heeft het projectteam meer dan 1.700 commits gedaan en de ontwikkelaars doen er alles aan om Bun stabieler en compatibeler te maken met Node.js. "We hebben meer dan duizend bugs opgelost, een heleboel nieuwe functies en API's toegevoegd, en Bun ondersteunt nu Windows!", aldus de Bun-communityontwikkelaars.

Bun is een moderne JS-runtime zoals Node.js of Deno met ingebouwde ondersteuning voor JSX en TypeScript. Het is ontworpen met de nadruk op een snelle start, hoge prestaties en zelfvoorziening. Bun heeft een JavaScript-transpiler ingebouwd in de runtime. Dit betekent dat wanneer u met Bun werkt, u JavaScript-, TypeScript- en zelfs JSX/TSX-bestanden kunt uitvoeren zonder enige afhankelijkheden.

Bun maakt gebruik van de JavaScriptCore-engine van WebKit, die iets sneller opstart en bewerkingen uitvoert en het geheugen iets efficiënter gebruikt dan klassieke motoren zoals V8. Bun is geschreven in Zig, een programmeertaal op laag niveau met handmatig geheugenbeheer, wat de hoge snelheid verklaart.

Bun voert volledig uitgeruste apps uit die zijn gebouwd met Next.js, Remix, Nuxt, Astro, SvelteKit, Nest, SolidStart en Vite. De projectontwikkelaars legden uit dat Bun vier keer sneller opstart dan Node.js. Dit verschil wordt alleen maar groter bij het uitvoeren van een TypeScript-bestand, waarvoor transpilatie vereist is voordat Node.js het kan uitvoeren. Bun voert een hello world-testbestand in TypeScript 5x sneller uit dan esbuild met Node.js.

Verbeteringen en verbeteringen in Bun 1.1:

Je kunt Bun nu uitvoeren op Windows 10 en hoger. Bun voor Windows slaagt voor 98% van de eigen reeks tests van het projectteam voor Bun op macOS en Linux;

er zijn meer dan tien nieuwe functies, API-verbeteringen en wijzigingen aan het project toegevoegd om prestatieverlies te voorkomen bij het herhaaldelijk overbrengen van dezelfde bestanden, waardoor opdrachtregelprogramma's zoals tsc 2x sneller zijn dan in Bun 1.0;

Bun Shell is verbeterd, Bun is nu een platformonafhankelijke shell - zoals bash, maar ook voor Windows;

bugs opgelost en verbeterde ondersteuning voor Node.js API's, inclusief HTTP/2-client en IPC-berichten tussen Bun en Node.js;

Bun-code is geoptimaliseerd om standaard web-API's te ondersteunen;

Aanzienlijk verhoogde operationele stabiliteit en verbeterde prestaties bij het installeren van Bun;

vereenvoudigde manieren om JavaScript- en TypeScript-code te schrijven, uit te voeren en fouten op te sporen;

Standaard netwerktime-out verhoogd naar 5 minuten. Dit komt overeen met de standaardinstellingen in Google Chrome en zou moeten helpen bij verbindingen met hoge latentie.

364 medewerkers werkten aan de release van het open source-project Bun 1.1. Het Bun-team is ook op zoek naar ingenieurs, ontwerpers, voormalige of huidige ontwikkelaars van JavaScript-engines zoals V8, WebKit, Hermes en SpiderMonkey om ons kantoor in San Francisco te versterken en samen aan de toekomst van JavaScript te bouwen.

In september 2023 voerde ontwikkelaar Emil Priver een eenvoudige HTTP-test uit "Go vs. Rust vs. Bun vs. Node" om de prestaties van Bun 1.0 te evalueren. Priver heeft een benchmark gemaakt om het aantal HTTP-oproepen te meten dat een server per seconde kan verwerken. De test vergelijkt de prestaties van Bun met GO, Rust en Node, omdat deze talen vaak door webontwikkelaars voor vergelijkbare doeleinden worden gebruikt.

“Het is goed om te zien dat Bun goed presteert en het lijkt erop dat het via HTTP kan concurreren met Rust and Go. Ik ben ook erg blij dat er nu een fatsoenlijke runtime is die "alles doet". In tegenstelling tot talen als Rust en Go die pakketbeheerders bieden, biedt Bun er ook één. Node daarentegen heeft verschillende pakketbeheerders (hoewel NPM met Node wordt geleverd) en veel verschillende manieren om hetzelfde doel te bereiken, waarbij elke methode sneller is dan de andere. Hoewel ik in het algemeen geen grote fan ben van het schrijven van JavaScript, kijk ik er naar uit om iets met Bun te creëren”, besluit Priever.

Bun 1.1, een JavaScript- en TypeScript-runtime, is uitgebracht