Проект Deno развивает защищённую JavaScript-платформу, похожую на Node.js

Saadaval projekti väljaanne Deno 0.33, pakkudes Node.js sarnast platvormi iseseisvaks rakenduste käitamiseks JavaScripti ja TypeScripti keeles, mida saab kasutada rakenduste käitamiseks ilma brauseri seotuse vajaduseta, näiteks serveripoolsete töötlejate loomiseks. Deno kasutab JavaScripti mootori V8, mida rakendatakse ka Node.js-s ja Chromiumi põhistel brauseritel. Projekti koodi levitatakse jagab MIT litsents. Projekti arendab Ryan Dahl (Ryan Dahl), JavaScripti platvormi Node.js looja.

Üks peamisi eesmärke JavaScripti uue käitusaja loomisel on pakkuda turvalisemat keskkonda. Turvalisuse tagamiseks on V8 mootori ümber kirjutatud Rusti keeles, mis aitab vältida paljusid haavatavusi, mis tulenevad madala taseme mäluga töötamisest, nagu näiteks mäluruumi juurde pääsemine pärast selle vabastamist, null-näitajate dereferseerimine ja puutest sõltuvate mälupiiride ületamine. Taotluste töötlemiseks kasutatakse mitteblokeerivat platvormi Tokio, mis on samuti kirjutatud Rust keeles. Tokio võimaldab luua kõrge jõudlusega sündmustepõhiseid rakendusi, mis toetavad multitegumtöötlust ja asynchronous võrgupäringute töötlemist.

Peamised omadused Deno:

  • Turvakesksus vaikehäälestuses. Failide juurde pääs, võrguvõimalused ja ligipääs keskkonnamuutujatele on vaikimisi blokeeritud ja vajavad selget lubamist;
  • Sisseehitatud TüüpScripti keele tugi lisaks JavaScriptile;
  • Käivitusaja keskkond on saadaval ühes iseseisvas täitmisfailis („deno“). Rakenduste käitamiseks Deno abil piisab, kui laadida oma platvormil ainult üks täidetav fail, mille suurus on umbes 10 MB, ilma välistest sõltuvustest ja ei vaja erilisi süsteemi installimist;
  • Programmi käitamisel ja moodulite laadimisel saab kasutada URL-aadressimist. Näiteks, käivitamiseks programmi welcome.js võib kasutada käsku „deno https://deno.land/std/examples/welcome.js“. Kood välistelt allikatelt laaditakse ja salvestatakse lokaalses süsteemis, kuid kunagi ei uuendata automaatselt (uuendamiseks peab rakendust selgelt käivitama lipuga „—reload“).
  • Efektiivne HTTP-võrgupäringute töötlemine, platvorm on loodud kõrge jõudlusega võrgurakenduste loomiseks.
  • Võimalus luua universaalseid veebi rakendusi, mis saavad töötada nii Deno-s kui ka tavapärases veebi brauseris.
  • Kogu rakenduse skriptid saab ühendada üheks JavaScripti failiks.
  • Komplekti kuulub sõltuvuste vaatamise süsteem (käsk «deno info») ja koodi vormindamise utiliit (deno fmt).
  • Rakenduste arendajatele on pakutud standardsete moodulite komplekt, mis on läbinud täiendava auditi ja ühilduvuse kontrolli;
  • Erinevused Node.js-st:

Deno ei kasuta paketihaldurit npm

  • ja see ei ole seotud hoidlate, samuti toimub moodulite aadressimine URL-i või failitee kaudu ning neid mooduleid saab majutada mis tahes veebisaidil;
    Deno-s ei kasutata „package.json“-i moodulite määratlemiseks;
  • API erinevused, kõik asünkroonsed tegevused Deno-s tagastavad promise;
  • Deno nõuab, et kõik vajalikud õigused failide, võrgu ja keskkonnamuutujite jaoks oleksid selgelt määratletud;
  • Kõik vead, millele ei ole määratud käsitlejat, viivad rakenduse täitmise lõpetamiseni;
  • Deno-s rakendatakse ECMAScripti moodulisüsteemi ja ei toetata require();
  • Deno kasutab ECMAScripti moodulisüsteemi ja require() ei ole toetatud.

Allikas: opennet.ru

Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster