www.wikidata.de-de.nina.az
Deno ist eine Laufzeitumgebung fur JavaScript und TypeScript die auf der V8 JavaScript Engine basiert und in Rust geschrieben wurde Sie wurde von Ryan Dahl erschaffen dem ursprunglichen Schopfer von Node js 5 6 Sie wurde 2018 von Dahl in seinem Vortrag 10 Things I Regret About Node js deutsch 10 Dinge die ich an Node js bereue angekundigt 7 Deno vereint sowohl Laufzeitumgebung als auch Paketverwaltung in einem Programm 8 9 DenoBasisdatenHauptentwickler denolandEntwickler Ryan DahlErscheinungsjahr 13 05 2018 1 Aktuelle Version 1 40 5 2 15 Februar 2024 Betriebssystem Linux MacOS WindowsProgrammiersprache TypeScript JavaScript Rust C Kategorie LaufzeitumgebungLizenz MIT Lizenz 3 4 deno com Inhaltsverzeichnis 1 Geschichte 2 Vergleich mit Node js 3 Benutzung 4 Weblinks 5 EinzelnachweiseGeschichte BearbeitenDeno wurde auf der JSConf EU 2018 von Ryan Dahl in seinem Vortrag 10 Things I Regret About Node js deutsch 10 Dinge die ich an Node js bereue angekundigt 7 In dem Vortrag schildert Ryan dass er einige Designentscheidungen bei Node js bereut dass er keine Promises im API Design benutzt das Verwenden des legacy GYP building system den node modules Ordner und die package json Dateinamenserweiterungen wegzulassen die automatische Modulauflosung mit der index js und das Auflosen der Sandbox von V8 10 Schliesslich prasentierte er den Prototyp von Deno Deno war ursprunglich in Go geschrieben 11 wurde aber bald von Rust ersetzt Grund dafur waren Bedenken wegen der doppelten Laufzeitumgebung der von Go und Deno selbst und Garbage Collection 12 Im November 2018 wurde eine Standardbibliothek erstellt die an die Go Standardbibliothek angelehnt war die umfangreiche Werkzeuge bereitstellte um Probleme mit den Node js Abhangigkeitsbaumen zu losen 13 Die Version 1 0 von Deno wurde am 13 Mai 2020 veroffentlicht 14 Vergleich mit Node js BearbeitenDeno und Node js sind beides Laufzeitumgebungen basierend auf Googles V8 JavaScript Engine die auch in Google Chrome verwendet wird Beide haben interne Ereignisschleifen und konnen uber die Kommandozeile aufgerufen werden um Skripte und Hilfsbefehle auszufuhren Sie unterscheiden sich vor allem in folgenden Punkten 8 Deno nutzt ES Modules als standard Module System statt CommonJS Fur Abhangigkeiten nutzt Deno URLs ahnlich wie Webbrowser Deno enthalt einen integrierten Paketmanager daher wird npm nicht benotigt Deno ist kompatibler mit Webbrowsern und unterstutzt ein breites Spektrum an Web APIs Der Zugriff auf das Dateisystem und Netzwerk ist durch die Sandbox in Deno kontrollierbar 6 Deno unterstutzt Promises ECMAScript ES6 und TypeScript 6 Trotz der grossen Standardbibliothek hat Deno einen kleineren Kern Deno nutzt fur die Systemzugriffe spezielle Nachrichtenkanale Benutzung BearbeitenDer folgende Befehl fuhrt die TypeScript Datei main ts ohne Lese Schreib oder Netzwerkzugriff Sandbox mode aus deno run main ts Zugriff aufs Dateisystem oder Netzwerk kann uber bestimmte Attribute gewahrt werden deno run allow read allow net main ts Um den Abhangigkeitsbaum des Skriptes anzuzeigen kann der info Unterbefehl genutzt werden deno info main ts Ein einfaches Hallo Welt Programm sieht in Deno wie auch in Node js wie folgt aus das konnte z B in der main ts stehen console log Hello world Um die Deno eigene API zu benutzen wird ein spezieller globaler Namensraum genutzt den es in Browsern nicht gibt Das Unix cat Programm konnte wie folgt programmiert werden cat ts Deno APIs werden uber den Namensraum Deno bereitgestellt const stdout open copy args Deno await wird auf oberster Ebene unterstutzt for let i 0 i lt args length i const filename args i Enthalt das Kommandozeilenargument const file await open filename Offnet die entsprechende Datei zum Auslesen await copy file stdout Fuhrt ein asynchrones kopieren von file nach stdout durch Die Deno copy Funktion oben funktioniert so wie Gos io Copy wahrend stdout Standardausgabe das Ziel ist und file die Quelle Um das Programm auszufuhren werden Leserechte auf dem Dateisystem benotigt deno run allow read cat ts myfile Das folgende Deno Skript implementiert einen einfachen HTTP Server Importiert serve von der Deno Standardbibliothek uber eine URL import serve from https deno land std v0 21 0 http server ts serve Funktion gibt einen asynchronen Iterator zuruck der nach und nach die Anfragen zuruckgibt for await const req of serve port 8000 req respond body Hello World n Wenn das Programm ausgefuhrt wird ladt Deno automatisch die Standardbibliothek herunter und cachet sie und kompiliert den Code Weblinks BearbeitenOffizielle Website Deno auf GitHubEinzelnachweise Bearbeiten Contributors denoland deno Github Abgerufen am 5 Juli 2019 englisch Release 1 40 5 15 Februar 2024 abgerufen am 19 Februar 2024 deno LICENSE at master In GitHub Abgerufen am 5 Juli 2019 englisch The MIT License In Open Source Initiative 17 September 2018 abgerufen am 17 September 2018 englisch Deno Secure V8 TypeScript Runtime from Original Node js Creator In InfoQ Abgerufen am 17 Mai 2019 englisch a b c Silke Hahn Webentwicklung Deno 1 0 soll Node js als Framework fur Skriptsprachen ersetzen 14 Mai 2020 abgerufen am 6 Juni 2020 a b 10 Things I Regret About Node js Ryan Dahl JSConf EU 2018 6 Juni 2018 abgerufen am 17 Mai 2019 englisch a b Deno Manual In deno land Abgerufen am 17 Mai 2019 englisch Paul Krill Ryan Dahl s Node js regrets lead to Deno InfoWorld 21 Juni 2018 abgerufen am 6 Juni 2020 englisch Ryan Dahl Design mistakes in Node PDF In Github 6 Juni 2018 abgerufen am 6 Juni 2020 englisch denoland deno branch golang In Github Abgerufen am 6 Juni 2020 englisch Suggestion Look into porting to Rust and using Tokio In GitHub Abgerufen am 6 Juni 2020 englisch Deno Standard Modules In Github Abgerufen am 6 Juni 2020 englisch Deno 1 0 In deno land Abgerufen am 14 Mai 2020 Abgerufen von https de wikipedia org w index php title Deno Software amp oldid 241434873