Datum
17.11.2020
Dieser Beitrag wurde verfasst von:
Die Laufzeitumgebung Node.js dürfte den meisten von euch wohl ein Begriff sein. Deno nennt sich die neueste Kreation von Ryan Dahl, dem ursprünglichen Schöpfer von Node.js – es wurde mehr oder weniger von den Mängeln von Node.js inspiriert und weist ihm gegenüber tatsächlich einige spannende Neuerungen auf.
Was es mit Deno genau auf sich hat und ob es Node.js potentiell ersetzen wird, erfahrt ihr in unserem Blogbeitrag. Oder ihr schaut euch einfach unser neuestes YouTube-Video zu dem Runtime En
Das steckt hinter Deno

Der Name Deno an sich sagt schon einiges über die neue Laufzeitumgebung aus: Ändert ihr die Reihenfolge der Buchstaben, ergibt sich daraus der Begriff Node. Das ist kein Zufall, denn sowohl hinter Deno als auch hinter Node.js steckt derselbe Kopf: Software Engineer Ryan Dahl. Nun – wo liegt der Unterschied?
Bei beiden handelt es sich um Laufzeitumgebungen für serverseitiges JacaScript. Aber: Deno bietet im Gegensatz zu Node.js bereits von Haus eine TypeScript-Umgebung. Es wurde ursprünglich in Go programmiert, allerdings wurde nach einer Zeit die Entscheidung getroffen auf Rust zu wechseln. Im Hintergrund arbeitet neben Rust die schon aus Node.js bekannte V8 JavaScript Engine.
Eine Besonderheit an Deno ist das Mehr an Sicherheit, welches die Laufzeitumgebung bietet. Im Gegensatz zu Node.js ist es hier nicht möglich, die von V8 vorgesehene Sandbox einfach zu verlassen. Es ist vielmehr notwendig, dem Programm zunächst eine Erlaubnis zu erteilen. Mehr Details hierzu findet ihr in unserem Video.
Diese Tools bietet es euch
Wie erwähnt, punktet Deno, wenn es ums Thema Sicherheit geht. Darüber hinaus bietet das Runtime Environment eine Vielzahl an Tools, sodass es beinahe den Anschein eines ganzen Frameworks erweckt. Angefangen bei Debugger-Tools über Formatter bis hin zu Prettier könnt ihr viele Anwendungen nutzen, ohne vorab Zeit für Installationen aufwenden zu müssen. Darüber hinaus gibt es einen Bundler, der eure TypeScript-Datei automatisch in eine JavaScript-Datei wandelt sowie ein Linting-Tool. Auch Test könnt ihr ohne initiale Installation ausführen.
Module – Das gibt es zu beachten
Es fällt auf, dass bei Deno kein required-Befehl verwendet wird, um Module herunterzuladen oder einzubinden. Anstatt dessen werden sie über einen Link, entsprechend der aus Go bekannten ES Modules-Technik, importiert oder exportiert.
Für viele vielleicht ein Manko: Innerhalb von Node gibt es weder package.json, noch Node-, noch npm-Module – lediglich die bereits erwähnten ES-Module. Deno muss folglich seine eigenen Plug Ins sowie seine eigenen Module aufbauen. Es ist zu erwarten, dass es eine ganze Weile dauern wird, bis ein ähnliches Niveau wie bei node.js mit dem Package-Manager erreicht ist.
Deno vs. Node.js

Zum Schluss die Frage: Wird Deno node.js ersetzen? Zum aktuellen Zeitpunkt ein ganz klares: Nein! Node.js ist ein ausgereiftes Produkt mit vielen Modulen und Möglichkeiten, während Deno gewissermaßen noch in den Kinderschuhen steckt. Es bleibt allerdings festzuhalten, dass Deno eine sehr vielversprechende Architektur bietet. Darüber hinaus fällt auf, dass bei der Laufzeitumgebung eine Vielzahl smarter Designentscheidungen getroffen wurden, die sich bei Node.js nicht mehr so einfach korrigieren lassen. Für produktive Projekte ist Deno derzeit noch nicht zu empfehlen, für kleinere Spielprojekte allemal!
Ihr wollt mehr über Deno erfahren? Dann schaut euch in jedem Fall unser YouTube-Video an! Neben mehr Detailwissen findet ihr darin zwei spannende Demos, die euch den Einstieg in Deno erleichtern werden.
Ihr Ansprechpartner
Erfahren Sie mehr

Dresscode und eBagTag - Schutzkleidung maßgeschneidert

Application Development für Individualsoftware

TIMETOACT realisiert integrierte Versicherungs-Software

Mit End-to-End Testing zur einwandfreien Webanwendung

Schulungs-Referenzen

Webserver mit Open Source

TIMETOACT erleichtert die Berichterstellung in IBM Cognos

Unser Service Angebot zu Mendix

Mendix Testautomation

Atlassian Fisheye

Atlassian Crucible

Domino Datenbank Entwicklung Grundlagen

Domino REST & Co

Workshop LotusScript für Fortgeschrittene

Building modern & responsive Web Applications with xPages

Domino Datenbank Entwicklung Grundlagen

Workshop LotusScript für Fortgeschrittene

Simplifier: Low-Code Plattform mit garantiertem Erfolg

Building modern & responsive Web Applications with xPages

Domino REST & Co

Domino REST & Co

Building modern & responsive Web Applications with xPages

Using LotusScript in Domino Applications

Using LotusScript in Domino Applications

Beratung rund um Mendix

Mendix in der Fertigungsindustrie

Mendix für Finance & Versicherungen

Mendix im Einzelhandel

Flexibel mit Agiler Softwareentwicklung

Anwendungen mit Application Modernization optimieren

Mit Fullstack Development alles aus einer Hand

Domino Datenbank Entwicklung Grundlagen

Datenbank-Strukturen für Domino

Datenbank-Strukturen für Domino

Using LotusScript in Domino Applications

Workshop LotusScript für Fortgeschrittene

Lizenzmanagement fest im Griff - Das sollten Sie wissen!

EU-Nachhaltigkeitsrichtlinie (CSRD) – das müssen Sie wissen!

Sichere Web-Konferenzen mit HCL Sametime 11.5

Top 10 CSS Tipps & Tricks in 2020

HCL Connections 7 Upgrade

ESG-Tagebuch | Implementierung von Envizi ESG Suite |Teil 1

Wir haben HCL Sametime Premium v12 getestet

Neue Features für die HCL Webmail-Lösung Verse 2.2

So lösen Sie ein Problem mit Nomad Web, SafeLinx und mySQL

HCL Notes Domino Version 12 – new template signer

Neue Upgrade-Strategie für HCL Connections 7

Neue Funktion Gruppenräume in Microsoft Teams
