Deno 1.0, het veilige JavaScript-platform van Node.js

Node.js-ontwikkelaars vrijgegeven kort geleden de lancering van de eerste significante versie van Geef mij 1.0 die komt na twee jaar ontwikkeling. Dit is een platform voor het afzonderlijk uitvoeren van JavaScript- en TypeScript-toepassingen, die kan worden gebruikt om controllers te maken die op de server draaien. Niet Het is geen tak van Node.js, het is eerder een nieuw project dat helemaal opnieuw is gemaakt.

Net als Node.js, Deno maakt gebruik van de V8 JavaScript-engine, dat ook wordt gebruikt in op Chromium gebaseerde browsers.  De belangrijkste motivatie om het nieuwe JavaScript-platform te maken was de wens om de conceptuele fouten die zijn gemaakt in de Node.js-architectuur te verwijderen en gebruikers een veiligere omgeving bieden.

Om de veiligheid te vergroten is de link rond de V8-motor geschreven in de Rust-taal, Dit vermijdt veel kwetsbaarheden die optreden als gevolg van low-level werk met geheugen, zoals toegang krijgen tot een geheugengebied nadat het is vrijgegeven, verwijzen naar nulpunten en het overschrijden van bufferlimieten.

De projectcode wordt gedistribueerd onder de MIT-licentie en heeft compilaties die zijn voorbereid voor Linux, Windows en macOS.

Wat is nieuw in Deno 1.0

Deze nieuwe versie van het platform, API-stabilisatie in Deno-naamruimte gemarkeerd, que zoon verantwoordelijk voor de interactie van applicaties met het besturingssysteem. Software-interfaces die nog niet stabiel zijn, zijn standaard verborgen en alleen beschikbaar als ze in onstabiele modus worden gestart.

Naarmate er nieuwe versies worden gevormd, worden dergelijke API's geleidelijk stabiel. De API in de algemene naamruimte, die algemene functies bevat zoals setTimeout () en fetch (), komt zo dicht mogelijk bij de API van gangbare webbrowsers en is ontwikkeld in overeenstemming met de webstandaarden voor browsers. De Rust API's die rechtstreeks in de platformcode worden gebruikt, evenals de interface voor het ontwikkelen van plug-ins voor de Deno-runtime, zijn nog niet stabiel en blijven evolueren.

Bovendien heeft valt op dat hij werkte aan veiligheidsoriëntatie in de standaardinstellingen voor bestandstoegang zijn netwerkmogelijkheden en toegang tot omgevingsvariabelen standaard vergrendeld en moet expliciet worden opgenomen. Standaard worden applicaties uitgevoerd in geïsoleerde sandbox-omgevingen en ze hebben geen toegang tot systeemcapaciteiten zonder expliciete privileges.

Aan de andere kant wordt het vermeld in de aankondiging van de nieuwe versie de native ondersteuning voor TypeScript naast JavaScript. Om de typen te controleren en JavaScript te genereren, de standaard TypeScript-compiler wordt gebruikt, wat leidt tot verminderde prestaties in vergelijking met JavaScript-parsing in V8. In de toekomst zijn we van plan om onze eigen implementatie van het TypeScript-typecontrolesysteem voor te bereiden, waarmee we de prestaties van TypeScript-verwerking aanzienlijk kunnen verbeteren.

De runtime wordt geleverd in de vorm van één zelfstandig uitvoerbaar bestand ("niet"). Om toepassingen met Deno uit te voeren, is het voldoende om een ​​uitvoerbaar bestand voor uw platform te downloaden, ongeveer 20 MB groot, zonder externe afhankelijkheden en dat geen speciale installatie op het systeem vereist. Tegelijkertijd is deno geen monolithische applicatie, maar een verzameling boxpacks in Rust (deno_core, rusty_v8) die afzonderlijk kunnen worden gebruikt.

Naast de looptijd is het platform Deno fungeert ook als pakketbeheerder en geeft toegang tot modules via URL binnen code. Bestanden die via een URL van externe servers zijn gedownload, worden in de cache opgeslagen. De link naar de moduleversies wordt bepaald door de versienummerinstructies in de URL.

Van de andere innovaties die opvallen deze versie 1.0:

  • Effectieve verwerking van HTTP-netwerkverzoeken in applicaties, het platform is ontworpen om krachtige netwerktoepassingen te creëren.
  • De mogelijkheid om universele webtoepassingen te maken die zowel in Deno als in een normale webbrowser kunnen worden uitgevoerd.
  • De aanwezigheid van een standaardset van modules waarvan het gebruik geen koppeling met externe afhankelijkheden vereist. Ook de modules in de standaardcollectie zijn gecontroleerd en getest op compatibiliteit.
  • Het framework is een geïntegreerd afhankelijkheidsinspectiesysteem (commando "deno info") en een hulpprogramma om de code op te maken (deno fmt)
  • Alle applicatiescripts kunnen worden gecombineerd in één JavaScript-bestand.

bron: https://deno.land


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.