Node.js-Alternative: JavaScript-Runtime Deno reaktiviert WebGL-Nachfolger WebGPU

Die aktuellen Version 1.39 reaktiviert die Grafikschnittstelle WebGPU, ergänzt neue Coverage-Reporter und die verbessert die Node.js-Kompatibilität.

In Pocket speichern vorlesen Druckansicht 6 Kommentare lesen
Lesezeit: 2 Min.
Von
  • André von Raison

Das Deno-Team hat Version 1.39 ihrer JavaScript- und TypeScript-Laufzeitumgebung freigegeben. Es umfasst die lang erwartete Rückkehr von WebGPU und verbessert die Fähigkeiten für Grafik, Spiele und maschinelles Lernen. Mit zusätzlichen Coverage Reportern erweiterten sie außerdem die Codebase-Analyse und verbessern die Node.js-Kompatibilität. Updates für die Standardbibliothek, Leistungsoptimierungen und Support für TypeScript 5.3 runden das Angebot der Neuerungen ab.

WebGPU ist vor allem für KI-Modelle im Browser wichtig. Überdies bietet es auch neue Möglichkeiten für Grafiken im Webbrowser, etwa in Browserspielen. Die WebGPU-API bietet Entwicklern eine einfache, leistungsstarke und architekturübergreifende Möglichkeit zur Programmierung von GPU-Hardware in JavaScript. Sie ist der effektive Nachfolger von WebGL im Web. Deno hatte WebGPU bereits Anfang 2021 eingeführt, sie Anfang dieses Jahres wegen Performance-Problemen aber zunächst wieder entfernt. Mittlerweile gibt es vom W3C einen Working Draft einer WebGPU-Spezifikation. Chrome liefert als erster Browser die API bereits seit Version 113 mit aus, die Firefox- und Safari-Entwickler arbeiten laut Deno ebenfalls an der Umsetzung. Deno nutzt für seine Implementierung dieselbe Basis wie das Firefox-Team und verspricht Web-Entwicklern eine solide Grundlage für ihre Anwendungen.

Auch wenn die WebGPU-Spezifikation inzwischen als stabil gilt, behandelt Deno die Fähigkeit noch als unstable. Entwickler müssen sie explizit über die Option --unstable-webgpu aktivieren. Im Blog zum Release finden sich Links auf ein GitHub-Repository mit WebGPU-Beispielen.

Ebenfalls neu in Deno 1.39 sind die beiden Reporter summary und html. Ersterer ist der neue Default-Reporter und gibt die Coverage-Zusammenfassung als Texttabelle aus, der HTML-Reporter generiert eine detaillierte grafische Variante.

Mit dem Reporter html gibt es eine schicke grafische Zusammenfassung des Projekts.

(Bild: Deno)

Die Ausgabe von deno coverage --html ist vollständig statisch und lässt sich auf einem beliebigen statischen Dateiserver wie GitHub Pages hosten. Das weiterhin verfügbare Flag --lcov generiert den Coverage-Bericht im LCOV-Format, der sich dann mit externen Diensten wie Codecov oder Coveralls weiterverarbeiten lässt. Beim Thema Weiterentwicklung von Coverage wünschen sich die Deno-Entwickler explizit Feedback und haben dafür auf GitHub ein Issue eingerichtet.

Ausführliche Informationen zu den weiteren Neuerungen wie der aktuellen TypeScript-Version 5.3 liefert der zugehörige Blog-Beitrag. Darin beschreiben die Entwickler auch detailliert die Verbesserungen der Node.js-Kopatibilität sowie die Änderungen an den Deno-APIs und Standardbibliotheken.

(avr)