Uusien kehysten ja kirjastojen hankkiminen jatkuvasti on jotain, josta JavaScript on kuuluisa. Heinäkuussa 2022 ekosysteemi toivotti tervetulleeksi uuden jäsenen: Bun.js. Tässä tarkastelemme Bun.js: ää ja katsomme, kuinka se vaikuttaa laajempaan JavaScript-ekosysteemiin.

Mikä on Bun.js?

Pulla määritellään "nopeaksi all-in-one JavaScript-ajonaikaiseksi". Se on kolmas laatuaan Jarred Sumnerin Zig-ohjelmointikielellä luomien Node.js: n ja Deno.js: n jälkeen.

Sen päätavoitteena on tarjota alusta JavaScriptin käyttämiselle selaimen ulkopuolella, kuten Node.js ja Deno.js, mutta Bun edistyy tarjotakseen uusia nopeustasoja ja parannettua monimutkaisuutta.

Miten JavaScript on kehittynyt

JavaScript luotiin alun perin toimimaan vain selaimissa, ja sen voimanlähteenä toimivat moottorit, kuten SpiderMonkey ja V8. Vuonna 2009 Ryan Dahl upotti V8-moottorin C++-ohjelmaan, jota hän kutsui nimellä Node.js. JavaScript, siitä lähtien tuli merkityksellinen erilaisiin käyttötarkoituksiin, kuten palvelinpuolen ja reaaliaikaisiin sovelluksiin.

instagram viewer

Promises ja ES-moduulit ovat esimerkkejä nykyaikaisista JavaScript-ominaisuuksista, joita ei ollut Node.js: n luomisen yhteydessä. Ryan piti myös puheen vuonna 2018 asioista, joita hän katui Node.js: n suhteen. Hänen katumuksensa inspiroivat Deno.js: n luomista, jonka hän julkaisi vuonna 2020.

Deno on Rustilla rakennettu suoritettava ohjelma, jonka tavoitteena on korjata kaikki Noden puutteet, kuten tietoturva, suorituskyky ja natiivi TypeScript-tuki. Se on huomattavasti nopeampi ja turvallisempi kuin Node, ja sen mukana tulee työkaluja, jotka puuttuvat Node.js: stä.

Deno ei kuitenkaan ole saavuttanut odotettua massiivista käyttöönottoa edes neljän vuoden julkaisun jälkeen, koska useimmat nykyaikaiset järjestelmät ovat jo solmupohjaisia ​​ja muutos voi olla kehittäjille tuskaa. Suurin osa pitää kirjoittaa uudelleen npm Deno-tuen paketit haastavat myös sen hyväksymisen.

Heinäkuussa 2022 beta-versioon ilmestyi uusi suoritusympäristö – "Bun.js", joka on ollut trendaava aihe JavaScript-yhteisössä ja sen ulkopuolella. Yhteentoimivuus Node.js: n kanssa ja nopea suorituskyky, jonka se väittää tarjoavan, ovat olleet esittelykappale. Se on myös herättänyt keskustelua siitä, että vihdoinkin on olemassa "solmutuhoaja".

Miten Bun.js verrataan Node.js- ja Deno.js-tiedostoihin?

Node, Deno ja Bun ovat kaikki JavaScriptin ajonaikoja selaimen ulkopuolella, tämä ei neutraloi niiden välisiä eroja.

Node.js kirjoitettiin C++:lla, Deno Rustilla ja Bun Zigillä. "Muistin alhainen hallinta ja piilotetun ohjausvirran puute Zigissä helpottavat nopeiden ohjelmistojen kirjoittamista", sanotaan Bunin verkkosivustolla.

Vaikka Node ja Deno molemmat käyttävät Googlen V8-moottoria, Bun hyödyntää Webkitin "pikakäynnistyssuorituskykyä" JavaScriptCore moottori, jota Applen Safari käyttää. Verkkosivuston vertailutulokset osoittavat, kuinka Bun päihittää sekä Noden että Denon suorituskyvyltään ja toimii vähintään 3 kertaa nopeammin kuin molemmat suoritusajat.

Bunissa on sisäänrakennettu npm (Node paketinhallinta), mikä tekee pakettien asennuksesta npm: stä helppoa ja nopeaa (20x Noden nopeus), se tukee myös TypeScriptiä ja siirtää automaattisesti TS- ja JSX-tiedostoja. Muita Bunin jännittäviä ominaisuuksia ovat sisäänrakennettu SQLite3-asiakas, verkkosovellusliittymät, kuten fetch ja WebSocket, ympäristömuuttujien automaattinen lataus ja testiajo.

Kaikista kolmesta Bun ottaa kakun esityksen vuoksi. Node on edelleen vakain, jolla on erittäin suuri yhteisö, kun taas Deno on tällä hetkellä turvallisin.

Vaikuttaako Bun.js todella ekosysteemiin?

Ekosysteemi on innoissaan Bunin julkaisusta. On hyväksyttävää, että Bunin ympärillä oleva hype on ollut valtava ilmoituksen jälkeen. Se on aivan niin iso juttu. JavaScript-kehittäjät rakastaisivat sitä todella, kun otetaan huomioon sen "palottava" nopeus ja vankka tuottavuuden työkalu.

Lisäksi, Bunin Discord-palvelin Sillä on jo yli 2000 jäsentä, mikä osoittaa, että yhteisö on innostunut tästä uudesta teknologiasta.

Mikä on Node.js: n, Deno.js: n ja Bun.js: n tulevaisuus?

JavaScript ei poistu lähiaikoina. Todellisuudessa se on yksi niistä teknologioista, joista olemme varmoja, että se on edelleen käytössä 10 vuoden kuluttua. Nodella, Denolla ja Bunilla on myös tulevaisuus.

Nodea päivitetään edelleen säännöllisesti, versio 18.0 on juuri julkaistu äskettäin, joten sen tulevaisuus pysyy ennallaan jopa Deno ja Bun ympärillä. Monet PayPalin kaltaiset yritykset käyttävät Nodea infrastruktuurissaan, ja jopa uudet startup-yritykset seuraavat perässä.

Samanlainen tapaus on Denon osalta, jota kehitetään aktiivisesti ja kasvaa suuremmaksi. Deno on myös kehittymässä SaaS-ratkaisuksi tarjotakseen hallittuja JavaScript-ajonaikaisia ​​palveluita.

Bun.js on edelleen epävakaa ja sillä on rajoitettu tuki (tarvitset Windows-alijärjestelmä Linuxille suorittaaksesi sen Windowsissa). Vaikka siinä on niin monia ominaisuuksia, se ei voi olla vaihtoehto tuotantovalmiille ohjelmistoille nyt, koska siinä on vielä paljon tehtävää.

Vaikka tulevaisuus on ehdottomasti lupaava Bunille, on loogista uskoa, että nämä kolme teknologiaa todennäköisesti päätyvät rinnakkaiseloon ekosysteemissä, eivät kumpikaan korvaa toista.

Bun.js saattaa olla pelin vaihtaja

Bunin avulla monet asiat saattavat parantaa JavaScriptiä. JavaScriptin on luultavasti aika ottaa paremmin käyttöön suorituskykykriittisillä aloilla, kuten tekoäly/ML, pelikehitys jne. Suuntaa kohteeseen Bun.sh -sivustolla oppiaksesi asentamaan Bunin ja aloittamaan sen kehittämisen.