Deno JavaScript-Plattform Version 1.16

Die JavaScript-Plattform Deno 1.16 wurde veröffentlicht, die für die eigenständige Ausführung (ohne Verwendung eines Browsers) von in JavaScript und TypeScript geschriebenen Anwendungen konzipiert ist. Das Projekt wird vom Node.js-Autor Ryan Dahl entwickelt. Der Plattformcode ist in der Programmiersprache Rust geschrieben und wird unter der MIT-Lizenz vertrieben. Fertige Baugruppen werden für Linux, Windows und macOS vorbereitet.

Das Projekt ähnelt der Node.js-Plattform und verwendet wie diese die V8-JavaScript-Engine. Laut dem Autor von Node.js behebt es jedoch eine Reihe architektonischer Fehleinschätzungen seines Vorgängers und unterscheidet sich von diesem in den folgenden Nuancen :

  • Verwendung von Rust als Hauptsprache, was laut den Entwicklern das Risiko von Schwachstellen im Zusammenhang mit der Verarbeitung von Speicher auf niedriger Ebene (Pufferüberläufe, Use-after-free usw.) verringert;
  • Deno verwendet nicht den npm-Paketmanager und package.json und fordert den Benutzer auf, Module zu installieren, indem er eine URL oder einen Pfad zum zu installierenden Modul angibt. Das Projekt bietet jedoch mehrere Dienstprogramme, um die Arbeit mit Modulen von Drittanbietern zu erleichtern;
  • Anwendungen laufen separat in Sandboxes und haben ohne ausdrücklich erteilte Berechtigungen keinen Zugriff auf das Netzwerk, Umgebungsvariablen und das Dateisystem;
  • Die Architektur umfasst die Möglichkeit, universelle Webanwendungen zu erstellen, die sowohl im Deno-System als auch in einem normalen Browser funktionieren können;
  • Verwendung von „ES-Modulen“ und fehlende Require()-Unterstützung;
  • Alle Fehler in der Webanwendung, die vom Programmierer nicht behandelt werden, führen zu deren erzwungener Beendigung;
  • TypeScript-Unterstützung zusätzlich zu JavaScript;
  • Die Gesamtgröße der gebrauchsfertigen Plattform beträgt 84 MB (31 MB im ZIP-Archiv) als einzelne ausführbare Datei;
  • Es verfügt über ein Abhängigkeitsauflösungs- und Codeformatierungssystem.
  • Konzentrieren Sie sich auf Hochleistungsanwendungen.

Dino verarbeitet Anfragen auf nicht blockierende Weise mithilfe der Tokio-Plattform, die für die Erstellung leistungsstarker Anwendungen auf Basis einer ereignisgesteuerten Architektur konzipiert ist. Interessant ist auch, dass der integrierte HTTP-Server von Deno in TypeScript zusätzlich zu nativen TCP-Sockets implementiert ist, was sich positiv auf die Leistung von Netzwerkoperationen auswirkt.

In der neuen Version heißt es:

  • Leistungsoptimierung (4 Patches);
  • Korrektur von mehr als 15 Fehlern, insbesondere unterstützt der TLS-Client jetzt HTTP/2, das Codierungssubsystem unterstützt zusätzliche Codierungsmarkierungen usw.;
  • Mehr als zwei Dutzend Neuerungen, darunter die Stabilisierung der zuvor getesteten Subsysteme Deno.startTls und Deno.TestDefinition.permissions, die Aktualisierung der V8 JS-Engine auf Version 9.7 und die Unterstützung für React 17 JSX-Transformationen.

Source: opennet.ru

Kommentar hinzufügen