Deno is a secure runtime environment for both Javascript and Typescript. It is built on top of V8, Rust, and TypeScript and developed by Ryan Dahl.
V8 is an open-source JavaScript engine developed by The Chromium Project for Google Chrome and Chromium web browsers.
Rust is a multi-paradigm programming language focused on performance and safety, especially safe concurrency.
Why Deno?
You might be wondering, when we have node.js then why do we need another runtime for executing Javascript?
Deno supports both Javascript and Typescript but this is not the only reason Ryan built another runtime.
He talked about his top 10 regrets with Node.js and those were enough to mark the arrival of deno.
The top reasons were:
- Concerns with the node_module system
- Javascript has changed a lot since Node.js was created
- Wanted more Secure environment
Deno Overview – Highlights
Initial release | 13 May 2018 |
Stable release | 1.2.0 / July 13, 2020 |
Preview release | 1.0.0-rc3 / May 12, 2020 |
Original author | Ryan Dahl |
Operating system | Linux, macOS, Windows |
Written in | TypeScript, JavaScript, Rust, C++ |
Deno Features
The features provided by deno as per the official website are:
- Deno is secure by default, we need to explicitly provide access.
- Supports typescript out of the box.
- Works well with standard modules.
- Has built-in utilities like deno info and deno fmt.
- It ships only a single executable file.
Deno Architecture
Deno vs Node
It’s important to know the differences between the two.
Deno | Node |
Deno is written in Rust and TypeScript | Node is written in C++ and JavaScript |
For importing packages, Deno uses ES6 Modules | For importing packages, Node uses CommonJS syntax |
Lets you import any ES Module from URLs | Has a package manager called npm |
Deno offers a sandbox security layer through permissions | Node.js program can access anything the user can access |
Uses modern ECMAScript features in all its API | Uses the callback-based standard library |
In this section, we have covered the deno overview. Let’s learn about setting up the environment and installing Deno in the next section.
Deno is similar to Node and NOT a replacement of Node.
Pingback: Deno Tutorial – Tutorials Nest