JAXenter: Hi Ryan, nearly two years ago you began developing Deno, which started out with the idea of evolving into an alternative to Node, building upon different concepts. Now, with v1 just around the corner, what would you say is the main difference between Deno and Node?
Deno had to pursue ideas that were incompatible with the existing ecosystem.
Ryan Dahl: Deno uses a radically simple module system where modules and URLs are in one-to-one correspondence. Furthermore, Deno can execute TypeScript code out of the box. These two features have the effect of greatly simplifying the developer workflow. Deno is stricter with security than Node; by default, scripts are run in a secure sandbox without access to the operating system – users can opt in conditionally to provide further functionality – this is to correspond to the browser security model where websites ask for permission to access the camera or location info. Generally, Deno acts more like a web browser – it is, in essence, a web browser for command-line scripts.
SEE ALSO: The badass trio: Agile, JavaScript, and startups
JAXenter: An important question for many developers is how Deno integrates with the larger JavaScript ecosystem. Will it be possible to use Node modules in Deno?
Ryan Dahl: To achieve this much simplified workflow, Deno had to pursue ideas that were incompatible with the existing ecosystem. Today it’s unfortunately generally difficult to take a Node module and run it on Deno and vice versa. That said, these are both command line JavaScript engines built on V8 – they are pretty similar – and we expect, ultimately, that these compatibility issues will be worked out. One of the efforts made in this area is https://deno.land/std/node/ which exposes a Node-compatible “require” function in Deno.
Source : JAXenter