JavaScript on kuulus, et saada pidevalt uusi raamistikke ja teeke. Juulis 2022 tervitas ökosüsteem uut liiget: Bun.js. Siin vaatame Bun.js-i ja vaatame, kuidas see mõjutab JavaScripti ökosüsteemi laiemalt.

Mis on Bun.js?

kukkel on määratletud kui "kiire kõik-ühes JavaScripti käitusaeg". See on kolmas omataoline pärast Node.js-i ja Deno.js-i, mille lõi Jarred Sumner, kasutades programmeerimiskeelt Zig.

Selle peamine eesmärk on pakkuda platvormi JavaScripti käitamiseks väljaspool brauserit, nagu Node.js ja Deno.js, kuid Bun areneb, et pakkuda uusi kiiruse ja täiustatud keerukuse tasemeid.

Kuidas JavaScript on arenenud

JavaScript loodi algselt töötama ainult brauserites, mida toidavad sellised mootorid nagu SpiderMonkey ja V8. 2009. aastal integreeris Ryan Dahl V8 mootori C++ programmi, mille ta nimetas Node.js-iks. JavaScript on sellest ajast alates muutunud asjakohaseks mitmesuguste kasutusviiside jaoks, nagu serveripoolsed ja reaalajas rakendused.

Promises ja ES-moodulid on näited kaasaegsetest JavaScripti funktsioonidest, mida Node.js-i loomise ajal ei eksisteerinud. Ryan esines ka 2018. aastal asjadest, mida ta kahetses Node.js-i puhul. Tema kahetsus inspireeris Deno.js-i loomist, mille ta avaldas 2020. aastal.

instagram viewer

Deno on Rustiga ehitatud käivitatav fail, mille eesmärk on kõrvaldada kõik Node'i vead, nagu turvalisus, jõudlus ja natiivne TypeScripti tugi. See on oluliselt kiirem ja turvalisem kui Node ning see on varustatud tööriistadega, mis failis Node.js puuduvad.

Kuid Deno ei ole saavutanud oodatud massilist kasutuselevõttu isegi pärast nelja-aastast avaldamist, kuna enamik kaasaegseid süsteeme on juba sõlmepõhised ja muudatused võivad arendajatele piina teha. Peab enamuse ümber kirjutama npm Deno toe paketid vaidlustab ka selle vastuvõtmise.

2022. aasta juulis ilmus beetaversiooni uus käituskeskkond – „Bun.js”, mis on olnud JavaScripti kogukonnas ja sellest väljas trendikas teema. Koostalitlusvõime Node.js-iga ja kiire jõudlus, mida see väidetavalt pakub, on olnud esindus. Samuti on see tekitanud arutelusid selle üle, et lõpuks on olemas "sõlmede hävitaja".

Kuidas on Bun.js võrreldav Node.js-i ja Deno.js-iga?

Node, Deno ja Bun on kõik JavaScripti käitusajad väljaspool brauserit, see ei neutraliseeri nendevahelisi erinevusi.

Node.js kirjutati keeles C++, Deno keeles Rust ja Bun keeles Zig. "Madala taseme kontroll mälu üle ja peidetud juhtimisvoo puudumine Zigis muudavad kiire tarkvara kirjutamise lihtsamaks," öeldakse Buni veebisaidil.

Kuigi Node ja Deno käitavad mõlemad Google'i V8 mootorit, kasutab Bun Webkiti kiiret käivitamist. JavaScriptCore mootor, mida Apple'i Safari kasutab. Veebisaidi võrdlusuuringu tulemused näitavad, kuidas Bun ületab jõudluses nii Node'i kui ka Deno, töötades mõlemast käitusajast vähemalt 3 korda kiiremini.

Bunil on sisseehitatud npm (Node paketihaldur), mis muudab paketi installimise npm-ist lihtsaks ja kiireks (20x Node'i kiirus), samuti toetab see TypeScripti ning TS- ja JSX-failide automaatset ümberlaadimist. Muud Buni põnevad funktsioonid hõlmavad sisseehitatud SQLite3 klienti, veebi API-sid, nagu tõmbamine ja WebSocket, keskkonnamuutujate automaatset laadimist ja testimisprogrammi.

Kõigist kolmest võtab Bun koogi esinemise eest. Node on endiselt kõige stabiilsem ja väga suure kogukonnaga, samas kui Deno on praegu kõige turvalisem.

Kas Bun.js tõesti mõjutab ökosüsteemi?

Ökosüsteem on Buni vabastamisest põnevil. On meeldiv, et Bun'i ümber käiv hüpe on pärast teadaannet olnud tohutu. See on täiesti nii suur asi. JavaScripti arendajatele meeldiks see väga, arvestades selle "lõeglevat" kiirust ja tootlikkust suurendavaid tööriistu.

Lisaks Bun’s Discordi server on juba üle 2000 liikme, mis tõestab kogukonna põnevust selle uue tehnoloogia vastu.

Mis on Node.js-i, Deno.js-i ja Bun.js-i tulevik?

JavaScript ei kao niipea. Tegelikkuses on see üks tehnoloogiatest, millest oleme kindlad, et see on veel 10 aasta pärast kasutusel. Node'il, Denol ja Bunil on ka tulevik.

Sõlme uuendatakse endiselt regulaarselt, äsja välja antud versioon 18.0 hiljuti, seetõttu jääb selle tulevik puutumatuks isegi siis, kui Deno ja Bun on ümber. Paljud ettevõtted, nagu PayPal, kasutavad oma infrastruktuurides Node'i ja isegi uued idufirmad järgivad eeskuju.

Sarnane on juhtum ka Deno puhul, mida aktiivselt arendatakse ja suuremaks kasvab. Deno areneb ka SaaS-i lahenduseks, et pakkuda hallatud JavaScripti käitusteenuseid.

Bun.js on endiselt ebastabiilne ja sellel on piiratud tugi (vajate Windowsi alamsüsteem Linuxi jaoks selle käitamiseks Windowsis). Kuigi sellel on nii palju võimalusi, ei saa see praegu olla tootmisvalmis tarkvara jaoks, kuna sellega on veel palju tööd teha.

Kuigi tulevik on Buni jaoks kindlasti paljutõotav, on loogiline arvata, et need kolm tehnoloogiat hakkavad tõenäoliselt ökosüsteemis koos eksisteerima, mitte üks ei asenda teist.

Bun.js võib olla mängu muutja

Buniga võivad paljud asjad JavaScripti puhul paremaks muutuda. Tõenäoliselt on aeg JavaScriptil jõudluskriitilistes valdkondades, nagu AI/ML, mänguarendus jne, paremini kasutusele võtta. Suunduge aadressile Bun.sh veebisaiti, et õppida Buni installima ja arendama.