How Node-haasteeseen.js vastaa Ryan Dahlin Deno
solmun haasteeseen.JS, avoimen lähdekoodin JavaScript runtime, julkaisi viime viikolla 15. versionsa. Nyt sen 11. vuosi, Solmu.js on yhtä suosittu kuin ennenkin, mutta vuonna 2020 on syntynyt nousukas kilpailija. Deno, avoimen lähdekoodin JavaScript runtime julkaistiin toukokuussa, loi kukaan muu kuin Ryan Dahl-alkuperäinen kirjoittaja Node.js. Vielä pahempaa kuin kilpailija, joka tuntee tuotteesi läpikotaisin, Deno luotiin nimenomaan korjaamaan Dahlin Keskeiset heikkoudet Node.js – mukaan lukien tietoturvaongelmat, keskitetyn arkistojärjestelmän (npm) käyttö ja ”raskaskätinen työkalut.”
selvittää, miten nykyinen Solmusukupolvi.js ylläpitäjät ovat tekemisissä uuden haastajan kanssa — ja mitä he tekevät vastatakseen Dahlin kritiikkiin-haastattelin Bethany Griggsiä, Red Hatin johtavaa ohjelmistoinsinööriä ja solmua.JS teknisen ohjauskomitean jäsen. Griggs on ollut tekemisissä solmun kanssa.js-projekti vuodesta 2016, pääasiassa solmun kanssa.js Release työryhmä.
Node.JS: n avulla kehittäjät voivat suorittaa JavaScript-koodia verkkoselaimen ulkopuolella. Sen alkuperäinen tarkoitus oli luoda dynaamisia web-sivuja palvelimelle, ennen lähettämistä selaimeen; eli JavaScript-koodi sai suoritettua palvelimen puolella, eikä asiakkaan. Yleisemmin, solmu.JS: stä on tullut oletus backend web-ohjelmoinnissa (kun taas Frontendissa käytetään Reactin ja Angularyn kaltaisia ominaisuuksia). Ajatuksena on, että kehittäjät voivat käyttää samaa kieltä, JavaScript, sekä backend ja frontend.
solmu.js on myös erittäin skaalautuva, ja siinä on tapahtumavetoinen ohjelmointimalli, jotka molemmat ovat tehneet siitä hyvin sopivan cloud native-sovelluksiin.
” solmu.js on edelleen yksi johtavista käyttöajoista pilvipalvelujen ja taustasovellusten rakentamisessa”, Griggs kertoi. Hän lisäsi, että ” se on myös suosittu IoT-projekteissa-yksi suosikkiesimerkeistäni on NASA node.js tarkkailemaan avaruuspukujen tietoja.”
avaruuspuvut sivuun, solmu.js: ää ei enää nähdä JavaScript-kehityksen kuumana uutuutena (Next.JS, frontend React framework, on ehkä ottanut tuon manttelin). Ja verrattuna Denon huippuluokan luonteeseen-esimerkiksi Deno kirjoitettiin trendikkäällä uudella ohjelmointikielellä, Rust-solmulla.js-projekti noudattaa nykyään suhteellisen konservatiivista kehityspolkua. Joten se ei ole yllätys, että versio 15 solmu.js on inkrementaalinen päivitys.
Griggs mainitsi ”throw by default on unhandled rejections” – kappaleen olevan V15: n merkittävin päivitys. Tämä tarkoittaa, että kehittäjät voivat nyt saada ” varhaisen palautteen siitä, että he jättävät käsittelemättä virheen hakemuksessaan.”Arvokas tekninen päivitys, epäilemättä, mutta ei todennäköisesti luoda innostunutta keskustelua tech Twitter.
vastaus Ryan Dahlin kritiikkiin
minua kiinnosti enemmän se, oliko solmu.js project team on ryhtynyt mitään uutta kehitystä, tai korjauksia, käsitellä joitakin huolenaiheita Ryan Dahl on esiin viime vuosina?
pari vuotta sitten Dahl piti esityksen katumuksestaan solmun luomisen jälkeen.js. Yksi merkittävä oli, että hän ei tehnyt ajonaikaa niin turvallinen kuin hän voisi olla-jotain hän puuttui luodessaan Deno, joka on mainostettu olevan ” turvallinen oletuksena.”Deno: n lähestymistapa tietoturvaan on laittaa turvakaiteet tietojen käytön ympärille; kuten sen käyttöohjeessa on kuvattu, ”Deno vaatii tarkat oikeudet tiedostojen, verkon ja ympäristön käyttöön.”
Ryan Dahl JSConf EU 2018-tapahtumassa.
diplomaattisesti Griggs kertoi, että solmu.js ”ottaa inspiraatiota” Deno tässä ja muissa asioissa. Hän kuitenkin sanoi, että solmu.js project ”on aiemmin keskustellut turvallisuusvalvonnasta ja sovellusliittymien käytön rajoittamisesta jo ennen Denon julkistamista.”Hän viittasi pariin” kokeelliseen ominaisuuteen ” turvallisuuden kannalta (esimerkki 1, Esimerkki 2).
myöskään Griggs ei ole vakuuttunut siitä, että Denon turvallisuus edellä-lähestymistapa pääsyyn olisi oikea Node.js. ”Käytännön sovelluksissa”, hän sanoi, ” Sinun pitäisi nopeasti turvautua myöntämällä pääsy monet API, joten nettoarvo vastaan monimutkaisuus olisi alhainen.”
vaikka kiinnostusta solmun keskuudessa on.js projektitiimi kokeillessaan vahvempia turvaominaisuuksia, Griggsin mukaan ” ei ole ollut pakottavaa syytä hyväksyä kaikkia samoja tradeoffeja kuin Deno.”
Mitä tulee Dahlin kritiikkiin npm: stä suljettuna moduulien ekosysteeminä, Griggs ei näe syytä solmulle.js muuttaa sen.
”moduulien hallinnoinnin suhteen moduuliekosysteemi on ollut iso osa Node: n menestystä.js. Vaikka asiakkaiden integroinnista — moduuleja palvelevista rekistereistä — keskustellaan jatkuvasti, pääpaino on ollut ES6-moduulien tuen lisäämisessä sen sijaan, että niiden hallinnointitapaa muutettaisiin.”
NPM: n sijaan Deno on päättänyt käyttää moduuleja, joihin viitataan URL-osoitteina tai tiedostopolkuina.
palvelinpuolen JavaScript menee edelleen vahvana
JavaScript-kehysten nykyisen suosion myötä kuten Next.js ja Gatsby, yhdessä nousu Jamstack ja sen staattinen sivuston sukupolven lähestymistapa, kysyin Griggs jos se on vaikuttanut käyttötapaukset palvelinpuolen JavaScript?
”palvelinpuoleisen renderöinnin kaltaisten templointimoottoreiden käyttö saattaa vähentyä”, hän sanoi, ” mutta Node.js: ää käytetään edelleen voimakkaasti sellaisten mikropalvelujen rakentamiseen, jotka tukevat staattisia sivuja, jotka voidaan ottaa käyttöön Jamstackin kaltaisilla lähestymistavoilla. Solmu.js on myös edelleen vahvasti käytössä työkaluissa, jotka muodostavat asiakaspuolen JavaScriptin kehitysputket.”
solmun futuurit.js ja Deno
so what ’ s next for Node.js? Versiosta 15 kertovassa ilmoituspostauksessa Griggs kirjoitti, että vietettyään solmun kymmenvuotispäivää.js viime vuonna, ” projekti on käynnistynyt seuraavan 10 vuotta solmu.JS effort. ”
kysyin Griggsiltä, millaisia aloitteita projektin jäsenet aikovat toteuttaa seuraavan vuosikymmenen aikana?
”toistaiseksi olemme määritelleet prioriteettimme kehittäjäkokemukseksi, vakaudeksi, toiminnallisiksi ominaisuuksiksi, solmuksi.js ylläpitäjä kokemus, ja ajan tasalla teknologia ja API”, hän vastasi.
ne on tällä hetkellä esitetty Githubin asiakirjassa arvot ja prioriteetit. Tietoturva mainitaan kerran ”operatiivisten ominaisuuksien” alaluokaksi ja todetaan yksinkertaisesti: ”tietoturva-alttiuksien käsitteleminen vastuullisesti.”
se ei tunnu korkean riman tavoitteelta seuraavalle vuosikymmenelle, etenkään verrattuna Denon kunnianhimoisempaan tavoitteeseen yrittää ylipäätään välttää haavoittuvuuksia.
mutta solmusta lähtien.js on vakaa ja suhteellisen pitkäaikainen projekti, ja palvelee joitakin erittäin suuria yritys ohjelmistotoimittajia (kuten Griggin työnantaja, Red Hat), et voi syyttää ylläpitäjiä konservatiivisuudesta. Tosin se jättää muille mahdollisuuden ajatella palvelinpuolen JavaScriptin tulevaisuutta isommin ja rohkeammin-juuri sitä Dahl ja hänen Deno — projektinsa tekevät.
Red Hat on uuden pinon sponsori.
Feature image via.