Deno JavaScript-platformversie 1.16

Het Deno 1.16 JavaScript-platform is uitgebracht, ontworpen voor zelfstandige uitvoering (zonder gebruik van een browser) van applicaties geschreven in JavaScript en TypeScript. Het project is ontwikkeld door Node.js-auteur Ryan Dahl. De platformcode is geschreven in de programmeertaal Rust en wordt gedistribueerd onder de MIT-licentie. Kant-en-klare builds zijn voorbereid voor Linux, Windows en macOS.

Het project is vergelijkbaar met het Node.js-platform en maakt net als dit gebruik van de V8 JavaScript-engine, maar volgens de auteur van Node.js corrigeert het een aantal architectonische tekortkomingen van zijn voorganger en verschilt het ervan in de volgende nuances :

  • Het gebruik van Rust als de hoofdtaal, wat volgens de ontwikkelaars het risico verkleint op kwetsbaarheden die verband houden met geheugenbeheer op laag niveau (bufferoverflow, use-after-free, enz.);
  • Deno maakt geen gebruik van de npm-pakketbeheerder en package.json, waarbij de gebruiker wordt gevraagd modules te installeren door een URL of pad op te geven naar de module die moet worden geïnstalleerd. Het project biedt echter verschillende hulpprogramma's om het werken met modules van derden te vereenvoudigen;
  • Applicaties draaien afzonderlijk in sandboxes en hebben geen toegang tot het netwerk, omgevingsvariabelen en bestandssysteem, zonder expliciet verleende machtigingen;
  • De architectuur biedt de mogelijkheid om universele webapplicaties te creëren die zowel in het Deno-systeem als in een reguliere browser kunnen werken;
  • Het gebruik van "ES Modules" en het ontbreken van require() ondersteuning;
  • Eventuele fouten in een webapplicatie die niet door de programmeur worden afgehandeld, leiden tot gedwongen beëindiging ervan;
  • TypeScript-ondersteuning naast JavaScript;
  • De volledige grootte van het kant-en-klare platform is 84 MB (in een zip-archief - 31 MB) in de vorm van één uitvoerbaar bestand;
  • De kit biedt een systeem voor het oplossen van afhankelijkheden en het formatteren van code;
  • Focus op krachtige toepassingen.

Dino verwerkt verzoeken op een niet-blokkerende manier met behulp van het Tokio-platform, ontworpen voor het bouwen van krachtige applicaties op basis van gebeurtenisgestuurde architectuur. Het is ook interessant dat de ingebouwde HTTP-server van Deno is geïmplementeerd in TypeScript bovenop native TCP-sockets, wat een positief effect heeft op de prestaties van netwerkbewerkingen.

De nieuwe versie merkt op:

  • Prestatieoptimalisatie (4 patches);
  • Meer dan 15 fouten opgelost, met name de TLS-client ondersteunt nu HTTP/2, het coderingssubsysteem ondersteunt extra coderingsmarkeringen, enz.;
  • Meer dan twee dozijn innovaties, waarvan we de stabilisatie kunnen opmerken van de eerder geteste subsystemen Deno.startTls en Deno.TestDefinition.permissions, het updaten van de V8 JS-engine naar versie 9.7 en ondersteuning voor React 17 JSX-transformaties.

Bron: opennet.ru

Voeg een reactie