paint-brush
In Layman's Terms, What is the Difference Between Node and Deno?by@thatIITGirl
1,231 reads
1,231 reads

In Layman's Terms, What is the Difference Between Node and Deno?

by thatIITGirlJune 13th, 2020
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

Deno is created as a convalescent version of Node, both are created by Ryan Dhal. It is secure by default. No more exclusive coupling of async-await, Await is more powerful doing exorbitant things on plain vanilla promises, like following. No More NPM modules will be required. Dependencies will be accessed on the run via urls/remote scripts. Painless execution of '.ts' files. No more. NPM packages. No. More powerful.
featured image - In Layman's Terms, What is the Difference Between Node and Deno?
thatIITGirl HackerNoon profile picture

Worried that dinosaur or sock shaped "deno" is going to kill our favorite Node? Let me help you to get out of this dilemma.

Before starting, the very first thing to address is "Why Deno is launched?". Deno is created as a convalescent version of Node, both are created by Ryan Dhal. While releasing Node, he thought he could do better with Node, but it was way too famous before he could do anything. So now he chose the chance to release a new avatar of its kind.

So, Let's know what new Deno has that Node doesn't?

Security : Deno is secure by default. A script run with Deno cannot access the file system, network or environment. Thus the third party services/ modules cannot exploit if malicious in case. Thus the power to distinguish remains in hold of the developer.

--allow-read=/tmp
--allow-write
--allow-net
--allow-env

Typescript Support: No transpilation needed. As typescript is built into deno, Painless execution of '.ts' files. Below is the example:

No More NPM Modules... OMG!

So the folder which makes the entire application heavier, wont be there. similarly No HTTP modules will be required. Dependencies will be accessed on the run via urls/remote scripts.

The More Powerful "Await"

No more exclusive coupling of async-await, Await is more powerful doing exorbitant things on plain vanilla promises, like following.

With all main features understood, few more things to go before going to conclusion.

Version 0.0.1 is stable, but it is still working on the unstable features. Also, there are so many projects working on Node, it is tough for a 2 year old new language to replace the ongoing tech in market this easily. Also, its not compatible with NPM packages.

So, with new features like decentralized dependencies ,built-in-tooling etc, in general simultaneous coexistence is a great possibility for these techs but for now Node still has a stronghold.