Whats different between Deno and Node?

Both Node and Deno were designed by the same person - Ryan Dahl. Ryan created node in 2009, a long time ago, before several crucial Javascript functions were introduced. Since that time he has expressed regrets about the way Node was designed. Mainly about lack of security, and a centralized implementation of npm.

Subscribe

Get CrunchSkills in your inbox weekly. Stay sharp for your next technical interview.

Security

Deno lets you finely control what your program has access to. Allowing you to specify -

--allow-net=www.example.com // url optional
--allow-read=/path // path optinal
--allow-write=/path // path optional
--allow-run
--allow-env

Deno will not let you to run a program that tries to access any of this functions, without you explicitly stating it.

Node hands all of those permissions without asking to every package you install and their dependencies. Creating a security nightmare.

Typescript

Deno has a inbuilt typescript compiler. To compile typescript in Node you have to install and setup a compiler.

Packages

Node has a centralized package repository - npm. This means one point of failure, a weakness demonstrated by several scandals like removal of leftpad.

Denos packages are imported with ES6 module import. From a explicit path or URL. Deno will also not download those packages unless told by

Deno cache filename.ts

Async support

Deno is async by default. This means you don't have to create async wrapper functions just to use await. Deno released recently so its built with a lot of modern JavaScript in mind. Which did not exist in 2009 for node.

Node is the industry standard

Majority of the companies Β is using Node, for valid reasons outlined below. So if you're aiming to add one to your CV it should be Node.

Deno is built on Rust

Rusts package manger allows everyone to easily create modified Deno distributions like - for example something like Electron.

Node is well tested and stable.

Node is used by tons of silicon valley giants. Its well tested in production, and stable. Deno was just barely released, and its undoubtedly filled with bugs.

Node has a package for everything

npm over its 10+ years has created a 3rd party package library of more than 6 mln packages. You truly can find a package for everything in node. Deno doesn't yet have this amount of support, packages for Deno are just in the hundreds.

Bottom line

Deno is more secure, more decentralized and arguably better designed than node. It's almost a given that it will overtake Node in the next few years. Saying all that your choice -for now- for any software of importance should be Node. Node is stable, well tested and supported by the giants of industry. Node is not going away for a long time.

tl;dr Winner πŸŽ‰ NodeJS (for now)

While Deno is promising, and we're excited to see where things go. For now, NodeJS is the clear winner in terms of community support, history, developers, and security

Get interesting computer science content once per week

Subscribe

Get CrunchSkills in your inbox weekly. Stay sharp for your next technical interview.