What is Deno?
It is created by the creator of NodeJS- Ryan Dahl in 2018. Recently its 1.0 version has been released as an evolution of NodeJS. It is built with focus on aspects like ease of use and security.
Will it replace NodeJS?
Without a doubt Deno is an amazing runtime environment for JS, but NodeJS is an well-established and big technology that is here to stay for decades to come. However, soon Deno can become a great alternative to the NodeJS key shortcomings:
- A poorly designed module system with the centralized registry
- Security issues. In NodeJS, by default you can access the file system or environment
- Numerous legacy APIs that must be supported
Key features of Deno
Deno has a list of modules that are not externally dependent, and are reviewed by the Deno core team. These modules are hosted at deno.land/std and are distributed like all other ES modules.
Compatibility with the browsers
Deno provides native support of ES modules, thus you don’t have to use build tools like Parcel or WebPack to make an app browser compatible.
ES Modules are supported by Deno using a remote or a local URL, thus dependency management is very simple. For package distribution no centralized registry like NPM is needed in Deno.
Supports TypeScript out of the box
As TypeScript is used for writing Deno you can directly use TypeScript in your code without any transpiling step from your end. Also, if you want you can write in plain JS.
Sandbox is used by default in Deno to execute the code, thus in runtime there is no access by default to the file system or environment unless enabled by you explicitly.
Rather, you can use command-line arguments for enabling or disabling various security features.
At this stage it is difficult to say if Deno will completely replace NodeJS, but learning a new technology is always a good idea.