Paul Krill
Editor at Large

Deno 1.0 arrives to challenge Node.js

news
May 14, 20202 mins
JavaScriptProgramming LanguagesSoftware Development

‘Secure by default’ runtime for JavaScript and Typescript runtime reaches important milestone

fighter boxer competition boxing glove best fight  totokita getty
Credit: TotoKita / Getty

Deno, a JavaScript/TypeScript runtime promising stronger security and a superior developer experience to Node.js, reached its 1.0 release status on May 13, 2020.

Created by Ryan Dahl, who also created Node.js, Deno was designed to address a number of Node’s shortcomings, particularly security. (Deno is an anagram of Node.) The project became public about two years ago.

Unlike Node, Deno does not use the NPM package manager; instead, it loads modules by referencing URLs or file paths. The philosophy behind Deno is to serve as a productive, secure scripting environment for the modern programmer. It can be a replacement for utility scripts that may have been written in Python or Bash. Instructions for installing Deno can be found at deno.land.

Highlights of Deno include:

  • Deno is runtime for executing JavaScript and TypeScript outside the browser in a single executable (denocode).
  • Deno is secure by default, with no file, network, or environment access unless explicitly enabled. 
  • Deno dies on uncaught errors.
  • All async actions in Deno return a promise. 
  • Deno scripts can be bundled into a single JavaScript file.
  • Deno has a built-in dependency inspector (deno infocode) and a code formatter.
  • Deno provides a set of audited standard modules.
  • Deno was designed as a series of Rust crates to allow integration at different layers.

In explaining the reasons for Deno, Dahl and co-contributors Bartuk Iwanczuk and Bert Belder wrote in a blog post that while JavaScript is the natural choice for dynamic language tooling, Node was designed in 2009 when JavaScript was a much different language. As a result, building applications on Node can be an arduous endeavor.

“We feel that the landscape of JavaScript and the surrounding software infrastructure has changed enough that it was worthwhile to simplify,” the Deno creators wrote. “We seek a fun and productive scripting environment that can be used for a wide range of tasks.”