Ryan Dahl im Interview zu Deno

„Deno ist im Wesentlichen ein Webbrowser für Kommandozeilen-Skripte“: Ryan Dahl im Interview zu Deno 1.0
Keine Kommentare

Deno 1.0 erscheint voraussichtlich am 13. Mai. Aus diesem Grund haben wir Deno-Erfinder Ryan Dahl im Interview gefragt, worin sich Deno von Node unterscheidet, wie es um die Kompatibilität mit dem JavaScript-Ökosystem bestellt ist und wohin die Reise jenseits von v1 geht. Kann man lodash mit Deno nutzen?

Entwickler: Hallo Ryan, du hast ja vor knapp zwei Jahren mit der Entwicklung von Deno begonnen, um eine Alternative zu Node zu schaffen, die sich in ihren Konzepten deutlich davon unterscheidet. Jetzt, wo Deno 1.0 fast da ist, worin würdest du den größten Unterschied zwischen Node und Deno sehen?

Ryan Dahl: Deno verwendet ein radikal einfaches Modulsystem, bei dem Module und URLs in Eins-zu-Eins-Korrespondenz stehen. Darüber hinaus kann Deno TypeScript-Code „out of the box“ ausführen. Diese beiden Funktionen führen zu einer erheblichen Vereinfachung des Entwickler-Workflows. Deno ist bei der Sicherheit strenger als Node; standardmäßig werden Skripte in einer sicheren Sandbox ohne Zugriff auf das Betriebssystem ausgeführt – Benutzer können sich bedingt für die Bereitstellung weiterer Funktionen entscheiden. Das entspricht dem Sicherheitsmodell des Browsers, bei dem die Website um Erlaubnis für den Zugriff auf die Kamera oder Standortinformationen bittet. Im Allgemeinen verhält sich Deno eher wie ein Webbrowser: Es ist im Wesentlichen ein Webbrowser für Kommandozeilen-Skripte.

Entwickler: Eine wichtige Frage für viele Entwickler ist, wie Deno in das größere JavaScript-Ökosystem integriert ist. Wird es möglich sein, Node-Module in Deno zu verwenden?

Dahl: Um den stark vereinfachten Arbeitsablauf zu erreichen, musste Deno Ideen verfolgen, die mit dem bestehenden Ökosystem nicht kompatibel waren. Heute ist es leider im Allgemeinen schwierig, ein Node Module zu nehmen und es auf Deno laufen zu lassen und umgekehrt. Es handelt es sich jedoch bei beiden um Kommandozeilen-Javascript-Engines, die auf V8 basieren – sie sind sich ziemlich ähnlich – und wir erwarten, dass diese Kompatibilitätsprobleme letztendlich gelöst werden. Eine der in diesem Bereich unternommenen Anstrengungen ist https://deno.land/std/node/, das eine mit Node kompatible require-Funktion in Deno zur Verfügung stellt.

Entwickler: Wie sieht es denn mit eigenen Modulen für Deno aus. Werden Packages wie lodash portiert?

Ja, viele Module werden  „out of the box“ mit Deno funktionieren. lodash ist eins davon:

import snakeCase from "https://deno.land/x/lodash/snakeCase.js";
console.log(snakeCase("fooBar"));

Unter https://deno.land/x/ führen wir einen Index mit allen Drittanbieter-Modulen, die mit Deno genutzt werden können.

Entwickler: Wie geht es weiter, wenn v1 da ist – wird es einen festen Release-Zyklus oder einen Zeitrahmen geben, in dem ihr weiter an v1 arbeitet?

Dahl: Bei v1 geht es um die Stabilisierung der integrierten JS-APIs, damit Entwickler sich beim Build sicher sein können, dass ihr Code nicht kaputt geht. Es ist jedoch viel an Entwicklung im Gange, und wir werden weiterhin wöchentliche Updates veröffentlichen. Wir haben noch keinen Zeitplan für 2.0 oder auch nur, was 2.0 in Bezug auf Features bedeuten würde, aber die Leute können regelmäßige stabile Veröffentlichungen erwarten.

Entwickler: Gibt es schon Features, die für die Zeit nach v1 geplant sind?

Dahl: Nach 1.0 werden wir weiter an den Rust-APIs zur Einbettung von Deno in andere Programme und zur Erstellung von Plug-ins zur Erweiterung der Funktionen von Deno arbeiten. Wir arbeiten außerdem an einem eingebauten Linter (deno lint), von dem wir hoffen, dass wir die Code-Qualität damit erhöhen können. Wir untersuchen, ob das Type-Checking von TypeScript in Rust statt mit dem JavaScript-TSC durchgeführt werden kann  das würde die Startzeit drastisch verbessern.

Vielen Dank für das Interview!

Ryan kam in San Diego zur Welt. Er studierte Mathematik an der UCSD und der University of Rochester, bevor er sich für eine Karriere in der Softwarebranche entschied. Bekannt wurde er als Erfinder von Node.js. Ryan hat in diversen Bereichen des Software Engineerings gearbeitet, von der Server-Software bis zur Forschung am maschinellen Sehen. Er lebt in Brooklyn, New York.
Unsere Redaktion empfiehlt:

Relevante Beiträge

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu:
X
- Gib Deinen Standort ein -
- or -