Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Deno: Secure V8 TypeScript Runtime from Original Node.js Creator

Deno: Secure V8 TypeScript Runtime from Original Node.js Creator

Leia em Português

This item in japanese


Deno is a rethink of a server-side JavaScript runtime from original Node.js creator Ryan Dahl, to address regrets and challenges with Node.js.

Node.js is by far the most widely used server-side and command-line JavaScript runtime. With its widespread popularity, there are limits on what may change within Node.js without breaking compatibility.

After leaving Node.js and JavaScript a few years ago, Dahl returned to the JavaScript ecosystem due to his growing interest in machine learning. After initially announcing Node.js at in 2009, Dahl returned to this year's to explain his regrets with Node.js and to introduce Deno, an early attempt to address these concerns.

Dahl regrets several vital areas of Node.js, including not sticking with promises to provide async patterns, the overall Node.js security architecture, the internal build system, package management, and the handling of modules.

In spite of Node.js' success and popularity, these criticisms are far from new. Many early efforts were made to include alternatives to these approaches but they were met with resistance from the core Node.js team. Promises and modules have changed within Node.js because of their introduction into the language standard, but internal workings of Node.js fail to leverage their full capabilities even today.

Deno provides a secure V8 runtime engine with TypeScript as its foundation for increased code accuracy and with its compiler built into the Deno executable. Deno also strives to better leverage the JavaScript security sandbox, as well as simplifying the module and build system.  

Critics of Dahl also note that some of the other challenges with Node.js did not get mentioned in Dahl's talk, and there is concern that history could repeat itself. For example, Dahl assigned original copyright of Node.js to Joyent, which led to early conflict and the short-lived IO.js fork. This fork was resolved with the formation of the Node.js Foundation and the current project governance model. Currently, the Deno copyright lists Ryan Dahl as the holder.

Deno shows early promise as an alternative to Node.js but should not yet be considered mature or stable, and as expected, does not yet have a thriving ecosystem. Deno is open source software available under the MIT license. Contributions and feedback are encouraged via the Deno GitHub project.

Rate this Article