In short Deno is a new runtime for JavaScript, create from Ryan Dahl (creator of Node.js).
Deno supports TypeScript natively, this means you don't need to have a TypeScript configuration. All compilation is done by it.
Why we need a new runtime?
Deno (anagram of Node), wants to be Node's successor.
Node was created without thinking deeply some concepts: Security, Modules and Dependency. This is because in 2009 javascript was not the core language that now we know.
And why we need swap to Deno?
As we said earlier, Deno delves into some concepts.
Before we start to explain this concepts we must say that Deno is not fully compatible with Node.js, it's natural, this runtime is new and after 11 years of first release of Node.
Security
This is the main features of Denos. By default Deno not have permission, this means that not have access to: filesystem, network, environment variables and so on. This affirmation is in contrast with node, because Node have full access permission.
Modules
With Node we need to install all modules with npm before use it. Deno arrive without a packager manager, this is because we not need.
In Deno if we want to use a new module we only need import that module using the url.
The first time Deno runs, he reads all the necessary modules, download it and save it in cache, after that, Deno not download them again.
This means that you don't need an npm and a package configuration, at the same time we don't have fully control of module.
At this moment not all Node's packages is supported by Deno. For alla packages supported refered to https://deno.land/x.
This was a brief recap of what Deno is and what he wants to do. What do you think of this new runtime?
If you like this post, follow me on Twitter Denis