Deno JavaScripti platvormi väljalase 1.16

Välja anti Deno 1.16 JavaScripti platvorm, mis on mõeldud JavaScriptis ja TypeScriptis kirjutatud rakenduste iseseisvaks täitmiseks (ilma brauserit kasutamata). Projekti arendab Node.js autor Ryan Dahl. Platvormi kood on kirjutatud Rust programmeerimiskeeles ja seda levitatakse MIT litsentsi all. Valmis versioonid on ette valmistatud Linuxi, Windowsi ja macOS-i jaoks.

Projekt sarnaneb Node.js platvormiga ja kasutab sarnaselt sellele V8 JavaScripti mootorit, kuid Node.js'i autori sõnul parandab see mitmeid oma eelkäija arhitektuurilisi vigu ja erineb sellest järgmiste nüansside poolest. :

  • Põhikeelena Rusti kasutamine, mis arendajate sõnul vähendab madala tasemega mäluhaldusega seotud haavatavust (puhvri ületäitumine, kasutus pärast vaba jne);
  • Deno ei kasuta paketihaldurit npm ja paketti.json, paludes kasutajal mooduleid installida, määrates installitava mooduli URL-i või tee. Projekt pakub aga mitmeid utiliite, mis lihtsustavad tööd kolmandate osapoolte moodulitega;
  • Rakendused töötavad eraldi liivakastides ja neil puudub juurdepääs võrgule, keskkonnamuutujatele ja failisüsteemile ilma selgesõnalise lubadeta;
  • Arhitektuur annab võimaluse luua universaalseid veebirakendusi, mis võivad töötada nii Deno süsteemis kui ka tavalises brauseris;
  • Kasutades "ES mooduleid" ja puudub nõue() tugi;
  • Kõik vead veebirakenduses, mida programmeerija ei käsitle, viivad selle sunniviisilise lõpetamiseni;
  • TypeScripti tugi lisaks JavaScriptile;
  • Kasutusvalmis platvormi täismaht on 84 MB (zip-arhiivis - 31 MB) ühe käivitatava faili kujul;
  • Komplekt pakub süsteemi sõltuvuste lahendamiseks ja koodi vormindamiseks;
  • Keskenduge suure jõudlusega rakendustele.

Dino töötleb päringuid blokeerimata viisil, kasutades Tokio platvormi, mis on loodud sündmustepõhisel arhitektuuril põhinevate suure jõudlusega rakenduste loomiseks. Huvitav on ka see, et Deno sisseehitatud HTTP-server on TypeScriptis realiseeritud natiivsete TCP-pesade peal, millel on positiivne mõju võrgutoimingute jõudlusele.

Uus versioon märgib:

  • Toimivuse optimeerimine (4 plaastrit);
  • Parandatud üle 15 vea, eelkõige toetab TLS-klient nüüd HTTP/2, kodeerimise alamsüsteem toetab täiendavaid kodeerimismärke jne;
  • Rohkem kui kaks tosinat uuendust, millest võib märkida varem testitud alamsüsteemide Deno.startTls ja Deno.TestDefinition.permissions stabiliseerumist, V8 JS mootori värskendamist versioonile 9.7 ja React 17 JSX teisenduste tuge.

Allikas: opennet.ru

Lisa kommentaar