Nenehno pridobivanje novih ogrodij in knjižnic je nekaj, po čemer je JavaScript znan. Julija 2022 je ekosistem pozdravil novega člana: Bun.js. Tukaj si bomo ogledali Bun.js in videli, kako vpliva na širši ekosistem JavaScript.
Kaj je Bun.js?
Žemlja je definiran kot "hitro izvajanje vse v enem JavaScript". Je tretji te vrste po Node.js in Deno.js, ki ga je ustvaril Jarred Sumner z uporabo programskega jezika Zig.
Njegov glavni cilj je zagotoviti platformo za izvajanje JavaScripta zunaj brskalnika, tako kot Node.js in Deno.js, vendar Bun napreduje, da zagotovi nove ravni hitrosti in izboljšano kompleksnost.
Kako se je JavaScript razvil
JavaScript je bil prvotno ustvarjen za delovanje samo v brskalnikih, ki jih poganjajo motorji, kot sta SpiderMonkey in V8. Leta 2009 je Ryan Dahl motor V8 vdelal v program C++, ki ga je poimenoval Node.js. JavaScript je od takrat postal pomemben za različne uporabe, kot so strežniške aplikacije in aplikacije v realnem času.
Moduli Promises in ES so primeri sodobnih funkcij JavaScript, ki niso obstajale, ko je bil ustvarjen Node.js. Ryan je leta 2018 govoril tudi o stvareh, ki jih obžaluje glede Node.js. Njegovo obžalovanje je navdihnilo ustvarjanje Deno.js, ki ga je izdal leta 2020.
Deno je izvršljiva datoteka, ustvarjena z Rustom, katere cilj je odpraviti vse napake Node, kot so varnost, zmogljivost in izvorna podpora za TypeScript. Je bistveno hitrejši in varnejši od Node, prihaja pa z orodji, ki jih v Node.js ni.
Vendar pa Deno ni dosegel pričakovanega množičnega sprejetja niti po štirih letih izdaje, saj večina sodobnih sistemov že temelji na vozliščih in je lahko sprememba za razvijalce težava. Večino je treba prepisati npm paketi za podporo Deno prav tako izzivajo njegovo sprejetje.
Julija 2022 se je pojavilo novo izvajalno okolje v različici beta – »Bun.js« – ki je bila priljubljena tema v skupnosti JavaScript in zunaj nje. Interoperabilnost z Node.js in visoke hitrosti delovanja, ki naj bi jih ponujal, sta bili paradni primer. Sprožilo je tudi razprave o tem, da je končno na voljo "uničevalec vozlišč".
Kako se Bun.js primerja z Node.js in Deno.js?
Node, Deno in Bun so vsi izvajalci za JavaScript zunaj brskalnika, kar ne izniči razlik med njimi.
Node.js je bil napisan v C++, Deno v Rustu in Bun v Zigu. "Nizkonivojski nadzor nad pomnilnikom in pomanjkanje skritega toka nadzora v Zigu olajšata pisanje hitre programske opreme," navaja Bunovo spletno mesto.
Medtem ko Node in Deno poganjata Googlov motor V8, Bun izkorišča zmogljivost »hitrega zagona« Webkitovega JavaScriptCore motor, ki ga uporablja Applov Safari. Rezultati primerjalnih testov na spletnem mestu kažejo, kako Bun premaga Node in Deno v zmogljivosti, saj deluje vsaj 3-krat hitreje kot oba časa izvajanja.
Bun ima vgrajen npm (Node Package Manager), ki olajša in hitro namestitev paketa iz npm (20x večja hitrost v Node), podpira tudi TypeScript in samodejno prevede datoteke TS in JSX. Druge vznemirljive funkcije Bun vključujejo vgrajenega odjemalca SQLite3, spletne API-je, kot sta pridobivanje in WebSocket, samodejno nalaganje spremenljivk okolja in preizkusni izvajalec.
Od vseh treh Bun prevzame torto za nastop. Node ostaja najbolj stabilen z zelo veliko skupnostjo, medtem ko je Deno trenutno najbolj varen.
Bo Bun.js res vplival na ekosistem?
Ekosistem je navdušen nad izdajo Bun's. Sprejemljivo je, da je bil hype okoli Bun velik od objave. To je absolutno tako velik posel. Razvijalcem JavaScripta bi bil resnično všeč, če upoštevamo njegovo "izjemno" hitrost in robustna orodja za produktivnost.
Poleg tega Bun’s Discord strežnik ima že več kot 2000 članov, kar dokazuje navdušenje v skupnosti nad to novo tehnologijo.
Kakšna je prihodnost Node.js, Deno.js in Bun.js?
JavaScript ne bo kmalu izginil. V resnici je to ena od tehnologij, za katero smo prepričani, da bo čez 10 let še zelo prisotna. Tudi Node, Deno in Bun imajo prihodnost.
Vozlišče se še vedno redno posodablja, pravkar izdana različica 18.0 pred kratkim, zato njegova prihodnost ostaja nedotaknjena tudi z Denom in Bunom. Številna podjetja, kot je PayPal, uporabljajo Node v svojih infrastrukturah in celo nova zagonska podjetja sledijo temu.
Podobno velja za Deno, ki se aktivno razvija in raste. Deno prav tako napreduje v rešitev SaaS za zagotavljanje upravljanih izvajalnih storitev JavaScript.
Bun.js je še vedno nestabilen in ima omejeno podporo (potrebujete Podsistem Windows za Linux za zagon v sistemu Windows). Čeprav ima toliko zmogljivosti, zdaj ne more biti možnost za programsko opremo, pripravljeno za proizvodnjo, saj je na njej še veliko dela.
Čeprav je prihodnost za Bun vsekakor obetavna, je logično verjeti, da bodo te tri tehnologije najverjetneje na koncu soobstajale v ekosistemu, ne da bi ena nadomestila drugo.
Bun.js bi lahko spremenil igro
Z Bun bi lahko marsikaj izboljšalo JavaScript. Verjetno je čas, da se JavaScript bolje sprejme na področjih, ki so kritična za zmogljivost, kot so AI/ML, razvoj iger itd. Pojdite na Bun.sh spletno mesto, da se naučite, kako namestiti in začeti razvijati z Bun.