At få nye rammer og biblioteker hele tiden er noget JavaScript er berømt for. I juli 2022 bød økosystemet velkommen til et nyt medlem: Bun.js. Her vil vi tage et kig på Bun.js og se, hvordan det påvirker det bredere JavaScript-økosystem.

Hvad er Bun.js?

Bolle er defineret som "en hurtig alt-i-en JavaScript-runtime". Det er den tredje af sin slags efter Node.js og Deno.js, skabt af Jarred Sumner ved hjælp af Zig-programmeringssproget.

Dens hovedformål er at give en platform til at køre JavaScript uden for browseren ligesom Node.js og Deno.js, men Bun udvikler sig for at give nye niveauer af hastighed og forbedret kompleksitet.

Hvordan JavaScript har udviklet sig

JavaScript blev oprindeligt bygget til kun at køre i browsere, drevet af motorer som SpiderMonkey og V8. I 2009 indlejrede Ryan Dahl V8-motoren i et C++-program, som han kaldte Node.js. JavaScript, siden da blev relevant til forskellige anvendelser som server-side og real-time applikationer.

Løfter og ES-moduler er eksempler på moderne JavaScript-funktioner, der ikke fandtes, da Node.js blev oprettet. Ryan holdt også et foredrag i 2018 om ting, han fortrød ved Node.js. Hans fortrydelser inspirerede til oprettelsen af ​​Deno.js, som han udgav i 2020.

instagram viewer

Deno er en eksekverbar, bygget med Rust, der har til formål at tackle alle Nodes fejl, såsom sikkerhed, ydeevne og native TypeScript-understøttelse. Det er betydeligt hurtigere og mere sikkert end Node, og det kommer med værktøjer, der mangler i Node.js.

Deno har dog ikke opnået den massive adoption, der forventes, selv efter fire års udgivelse, da de fleste moderne systemer allerede er node-baserede, og ændringer kan være en smerte for udviklere. At skulle omskrive det meste npm pakker til Deno-support udfordrer også deres vedtagelse.

I juli 2022 dukkede en ny runtime op i beta - "Bun.js" - som har været et populært emne i og uden for JavaScript-fællesskabet. Interoperabiliteten med Node.js og højhastighedsydelsen, som det hævder at tilbyde, har været udstillingsstykket. Det har også rejst diskussioner om, at der endelig er en "Node-destroyer" omkring.

Hvordan er Bun.js sammenlignet med Node.js og Deno.js?

Node, Deno og Bun er alle kørselstider for JavaScript uden for browseren, dette neutraliserer ikke forskellene mellem dem.

Node.js blev skrevet i C++, Deno i Rust og Bun i Zig. "Den lave kontrol over hukommelsen og manglen på skjult kontrolflow i Zig gør det nemmere at skrive hurtig software" hedder det på Buns hjemmeside.

Mens Node og Deno begge kører Googles V8-motor, udnytter Bun "hurtigstart"-ydelsen fra Webkits JavaScriptCore motor, som Apples Safari bruger. Benchmark-resultater fra hjemmesiden viser, hvordan Bun slår både Node og Deno med hensyn til ydeevne, og fungerer mindst 3 gange hurtigere end begge kørselstider.

Bun har npm (Node Package Manager) indbygget som gør pakkeinstallation fra npm nem og hurtig (20x hastigheden i Node), den understøtter også TypeScript og autotranspilerer TS og JSX filer. Andre spændende funktioner i Bun inkluderer en indbygget SQLite3-klient, web-API'er som hentning og WebSocket, autoloading af miljøvariabler og en testløber.

Af alle tre tager Bun kagen til præstation. Node forbliver den mest stabile med et meget stort fællesskab, mens Deno i øjeblikket er det mest sikre.

Vil Bun.js virkelig påvirke økosystemet?

Økosystemet er begejstret over Buns udgivelse. Det er behageligt, at hypen omkring Bun har været enorm siden annonceringen. Det er absolut sådan en big deal. JavaScript-udviklere ville virkelig elske det i betragtning af dens "flammende" hastighed og robuste værktøj til produktivitet.

Desuden, Buns Discord-server har allerede over 2000 medlemmer, hvilket beviser begejstringen i samfundet for denne nye teknologi.

Hvad er fremtiden for Node.js, Deno.js og Bun.js?

JavaScript forsvinder ikke snart. I virkeligheden er det en af ​​de teknologier, vi er sikre på, der stadig vil være i højsædet om 10 år fra nu. Node, Deno og Bun har også en fremtid.

Node opdateres stadig jævnligt, version 18.0 netop udgivet for nylig, derfor forbliver dens fremtid intakt, selv med Deno og Bun rundt. Mange virksomheder som PayPal bruger Node i deres infrastrukturer, og selv nye startups følger trop.

Sagen ligner Deno, som er aktivt udviklet og vokser sig større. Deno er også på vej mod en SaaS-løsning til at levere administrerede JavaScript-runtime-tjenester.

Bun.js er stadig ustabil og har begrænset support (du har brug for Windows-undersystem til Linux for at køre det på Windows). Selvom det har så mange muligheder, kan det ikke være en mulighed for produktionsklar software nu, da der stadig er meget arbejde at gøre på det.

Selvom fremtiden absolut er lovende for Bun, er det logisk at tro, at disse tre teknologier højst sandsynligt vil ende med at eksistere side om side i økosystemet, og ikke den ene erstatter den anden.

Bun.js kan være en Game Changer

Med Bun kan mange ting blive bedre ved JavaScript. Det er nok på tide, at JavaScript opnår bedre anvendelse i præstationskritiske områder som AI/ML, spiludvikling osv. Gå til Bun.sh websted for at lære, hvordan du installerer og begynder at udvikle med Bun.