Deno JavaScript-platform 1.16 vrygestel

Die Deno 1.16 JavaScript-platform is vrygestel, ontwerp vir selfstandige uitvoering (sonder die gebruik van 'n blaaier) van toepassings wat in JavaScript en TypeScript geskryf is. Die projek is ontwikkel deur Node.js skrywer Ryan Dahl. Die platformkode is in die Rust-programmeertaal geskryf en word onder die MIT-lisensie versprei. Klaargemaakte bouwerk is voorberei vir Linux, Windows en macOS.

Die projek is soortgelyk aan die Node.js-platform en, net soos dit, gebruik die V8 JavaScript-enjin, maar volgens die skrywer van Node.js korrigeer dit 'n aantal argitektoniese foute van sy voorganger en verskil daarvan in die volgende nuanses :

  • Die gebruik van Rust as hooftaal, wat volgens die ontwikkelaars die risiko verminder van kwesbaarhede wat verband hou met laevlak geheuebestuur (bufferoorloop, gebruik-na-vry, ens.);
  • Deno gebruik nie die npm-pakketbestuurder en package.json nie, wat die gebruiker vra om modules te installeer deur 'n URL of pad te spesifiseer na die module wat geïnstalleer moet word. Die projek bied egter verskeie hulpmiddels om werk met derdeparty-modules te vereenvoudig;
  • Toepassings loop afsonderlik in sandboxes en het nie toegang tot die netwerk, omgewingsveranderlikes en lêerstelsel, sonder uitdruklik verleende toestemmings nie;
  • Die argitektuur bied die vermoë om universele webtoepassings te skep wat beide in die Deno-stelsel en in 'n gewone blaaier kan werk;
  • Die gebruik van "ES Modules" en gebrek vereis () ondersteuning;
  • Enige foute in 'n webtoepassing wat nie deur die programmeerder hanteer word nie, lei tot die gedwonge beëindiging daarvan;
  • TypeScript-ondersteuning bykomend tot JavaScript;
  • Die volle grootte van die gereed-vir-gebruik-platform is 84 MB (in 'n zip-argief - 31 MB) in die vorm van 'n enkele uitvoerbare lêer;
  • Die stel bied 'n stelsel vir die oplossing van afhanklikhede en formatering van kode;
  • Fokus op hoëprestasie toepassings.

Dino verwerk versoeke op 'n nie-blokkerende wyse deur die Tokio-platform te gebruik, ontwerp vir die bou van hoëprestasie-toepassings gebaseer op gebeurtenisgedrewe argitektuur. Dit is ook interessant dat Deno se ingeboude HTTP-bediener in TypeScript bo-op inheemse TCP-sokke geïmplementeer word, wat 'n positiewe uitwerking op die werkverrigting van netwerkbedrywighede het.

Die nuwe weergawe merk op:

  • Prestasie-optimering (4 kolle);
  • Meer as 15 foute reggestel, veral, die TLS-kliënt ondersteun nou HTTP/2, die enkodering-substelsel ondersteun bykomende enkoderingsmerke, ens.;
  • Meer as twee dosyn innovasies, waarvan ons kan let op die stabilisering van die voorheen toetssubstelsels Deno.startTls en Deno.TestDefinition.permissions, die opdatering van die V8 JS-enjin na weergawe 9.7 en ondersteuning vir React 17 JSX-transformasies.

Bron: opennet.ru

Voeg 'n opmerking