{"id":2750,"date":"2023-12-18T10:16:51","date_gmt":"2023-12-18T10:16:51","guid":{"rendered":"https:\/\/byte-bucket.com\/2023\/12\/18\/deno-1-39-webgpu-ist-zurueck-coverage-reporter-und-mehr\/"},"modified":"2023-12-18T10:16:51","modified_gmt":"2023-12-18T10:16:51","slug":"deno-1-39-webgpu-ist-zurueck-coverage-reporter-und-mehr","status":"publish","type":"post","link":"https:\/\/byte-bucket.com\/?p=2750","title":{"rendered":"Deno 1.39: WebGPU ist zur\u00fcck, Coverage-Reporter und mehr!"},"content":{"rendered":"<p>Die neueste Version von Deno, der JavaScript-Runtime und Node.js-Alternative, bringt einige aufregende neue Funktionen mit sich. Eine davon ist die Wiederkehr der WebGPU-Schnittstelle, die bereits 2021 in Deno eingef\u00fchrt wurde, aber aufgrund von Performance-Problemen wieder entfernt werden musste. Jetzt ist sie in der Version 1.39 wieder verf\u00fcgbar.<\/p>\n<p>Mit der WebGPU-Schnittstelle haben Entwickler die M\u00f6glichkeit, direkt aus JavaScript auf die Grafikhardware zuzugreifen. Das bedeutet, dass sie 3D-Grafiken erzeugen und Berechnungen durchf\u00fchren k\u00f6nnen, die von der Hardware beschleunigt werden. Die Schnittstelle wird bereits von Chrome unterst\u00fctzt und wird voraussichtlich bald auch von Firefox und Safari eingef\u00fchrt. Deno nutzt die bevorstehende Implementierung von Firefox, weshalb die WebGPU-Schnittstelle momentan noch als experimentell betrachtet wird. Um sie auszuprobieren, musst du Deno den Parameter  &#8211;unstable-webgpu  \u00fcbergeben. Aber sei vorsichtig, denn experimentell bedeutet, dass hier noch ein paar Kanten und Ecken vorhanden sein k\u00f6nnten.<\/p>\n<p>Aber das ist noch nicht alles! Deno 1.39 bietet auch zwei neue Coverage-Reporter. Einer davon ist der &#8222;summary&#8220; Reporter, der standardm\u00e4\u00dfig aktiviert ist und eine Zusammenfassung der Codeabdeckung liefert. Du kannst auch einen detaillierten Bericht in Form einer HTML-Datei generieren, indem du den Befehl  deno coverage html  verwendest. Damit hast du noch mehr M\u00f6glichkeiten, deine Tests und Codeabdeckung zu analysieren.<\/p>\n<p>Die Kompatibilit\u00e4t zu Node.js wurde auch weiter verbessert. Es wurden neue Schnittstellen hinzugef\u00fcgt, wie zum Beispiel  crypto.createPrivateKey ,  http.ClientRequest.setTimeout ,  http.globalAgent ,  perf_hooks.performance ,  process.geteuid ,  process.report ,  util.parseArgs  und  vm.runInNewContext . Bei den Deno-eigenen Schnittstellen sind  Deno.HttpServer.shutdown()  und die Unterst\u00fctzung von Unix-Sockets in  Deno.serve()  nun als stabil anzusehen. Au\u00dferdem kannst du mit der Funktion  Deno.Kv.watch()  \u00c4nderungen an Schl\u00fcsseln in einer Datenbank beobachten. Das sind einige ziemlich coole Verbesserungen, die dir helfen k\u00f6nnen, noch leistungsf\u00e4higere Anwendungen zu erstellen.<\/p>\n<p>Aber halt! Es gibt noch mehr! Bei der Verwendung von Deno 1.39 erh\u00e4ltst du nun detailliertere Hinweise zur korrekten Dateiendung bei TypeScript-Imports. Das bedeutet, dass dir die Runtime hilft, Fehler zu vermeiden, wenn du Module importierst. Au\u00dferdem kannst du mit dem Parameter  &#8211;unstable-sloppy-imports  die Runtime dazu bringen, fehlende Dateiendungen zu ignorieren. Das kann manchmal sehr praktisch sein, wenn du mit altem Code arbeitest, der noch nicht aktualisiert wurde.<\/p>\n<p>Aber das ist noch nicht alles! Der  deno compile  wurde auch verbessert. Es gibt jetzt lockerere Namensbeschr\u00e4nkungen f\u00fcr Executables und du kannst weitere dynamische Import-Muster verwenden. Das macht das Kompilieren deiner Deno-Anwendungen noch einfacher und flexibler.<\/p>\n<p>Es gibt jedoch eine kleine Einschr\u00e4nkung. Entwickler sollten die veralteten Schnittstellen  Deno.Reader ,  Deno.ReaderSync ,  Deno.Writer ,  Deno.WriterSync  und  Deno.Closer  nicht mehr verwenden, da sie mit dem Upgrade auf Deno 2 entfernt werden. Also halte dich von ihnen fern, es sei denn, du m\u00f6chtest gerne frustriert werden, wenn dein Code nicht mehr funktioniert.<\/p>\n<p>Alles in allem bietet Deno 1.39 also einige aufregende Neuerungen. Die WebGPU-Schnittstelle er\u00f6ffnet neue M\u00f6glichkeiten f\u00fcr die Grafikprogrammierung, die Coverage-Reporter bieten verbesserte Analysem\u00f6glichkeiten und die Kompatibilit\u00e4t zu Node.js wurde weiter ausgebaut. Es lohnt sich definitiv, die neue Version auszuprobieren und von den Verbesserungen zu profitieren. Also worauf wartest du noch? Leg los und werde zum Deno-Meister!<\/p>\n<p>Schlagw\u00f6rter: Deno + Reporters + JavaScript + API + Chrome<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Die neueste Version von Deno, der JavaScript-Runtime und Node.js-Alternative, bringt einige aufregende neue Funktionen mit sich. Eine davon ist die Wiederkehr der WebGPU-Schnittstelle, die bereits 2021 in Deno eingef\u00fchrt wurde, aber aufgrund von Performance-Problemen wieder entfernt werden musste. Jetzt ist sie in der Version 1.39 wieder verf\u00fcgbar. Mit der WebGPU-Schnittstelle&#46;&#46;&#46;<\/p>\n","protected":false},"author":4,"featured_media":2749,"comment_status":"","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-2750","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/byte-bucket.com\/index.php?rest_route=\/wp\/v2\/posts\/2750","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/byte-bucket.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/byte-bucket.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/byte-bucket.com\/index.php?rest_route=\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/byte-bucket.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2750"}],"version-history":[{"count":0,"href":"https:\/\/byte-bucket.com\/index.php?rest_route=\/wp\/v2\/posts\/2750\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/byte-bucket.com\/index.php?rest_route=\/wp\/v2\/media\/2749"}],"wp:attachment":[{"href":"https:\/\/byte-bucket.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2750"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/byte-bucket.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2750"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/byte-bucket.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2750"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}