DEV Community

Cover image for Deno - Node.js successor (?)
Tomek Poniatowicz for GraphQL Editor

Posted on • Updated on • Originally published at

Deno - Node.js successor (?)

A while ago the dev world heard the news that Ryan Dahl, who previously created Node.js, has released a new JavaScript & TypeScript scripting environment.

Deno is based on V8 and written in Rust & TypeScript and it aims to provide a productive and secure scripting environment that a modern programmer needs.

What's wrong with Node?

At times Node is like nails on a chalkboard to me. - Ryan Dahl

In 2018 during a JSConf Ryan Dahl gave a keynote speech called "Design Mistakes in Node" where he highlighted some of the most disturbing him Node's flaws or, as he called them, his regrets like:

  • the build system (sticking to GYP)
  • removing promises
  • node modules
  • security flaws i.e. linter having full access to your device & network

and some more. During that talk, he has also shown the world Deno's prototype.

Node modules flaws

Why Deno?

Deno is an anagram for Node and it aims to do the same job as a Node in a better way. Deno comes with some pretty interesting built-in features & concepts:

  • Secure by default - utilize the fact that JavaScript is a secure sandbox. Deno has no file, network, or environment access unless explicitly enabled.
  • TypeScript Support - TypeScript is great & Deno supports TypeScript out of the box.
  • Simplified modules system - with no attempt to achieve compatibility with Node modules, Deno offers totally different & simplified approach where standard modules are hosted at and are distributed via URLs (you can still use third party modules from any location on the web)
  • Single executable - Deno ships only a single executable with minimal linkage

Will Deno replace Node.js?

Deno is a new kid on the block. It offers some major improvements to some of the Node weaknesses. Although it rapidly gained a lot of attention (almost 60K stars on GitHub), it's just a 1.0 version and it's defiantly not production-ready yet. Despite its many flaws, Node.js is the widest use & mature JavaScript runtime. There are thousands of hudge, corporate projects running it and they will keep doing so. Deno is worth keeping your eyes on & if you are interested in its concept and learning more about Deno you should definitely watch Rayan's keynote:

Speed up your GraphQL API development

GraphQL Editor is a supportive tool for both advanced GraphQL users as well as those taking their first steps with GraphQL APIs. Our all-in-one development environment for GraphQL will help you build, manage & deploy your GraphQL API much faster thanks to dozens of built-in micro features. Try GraphQL Editor for free!

GraphQL Editor

Top comments (5)

navicsteinr profile image
Navicstein Rotciv • Edited

With time, developers will start to run nodejs modules ontop of Deno, they'll create bridges to and fro from nodejs to Deno, I think Deno is the way forward

sebastienbarre profile image
Sebastien Barre • Edited, is there a point to this? As Deno reached 1.0 we saw a deluge of posts riding this wave and essentially repeating the exact same points as the announcement, and posting the very same video (since Ryan did only a few). This one takes the cake; the same four bullet points we have seen here for the past 2+ weeks, the video, and what is essentially an ad for the author's product. This type of astroturfing brings down the overall quality of in my opinion. Anybody at the wheel?

bbarbour profile image
Brian Barbour • Edited

This is the first one that I clicked about the Deno thing. But, is it really up to DEV.TO to be "editorial" about their content? This is an open blogging platform, not an e-zine.

sebastienbarre profile image
Sebastien Barre • Edited

There are content managers on DEV.TO; a new one was announced just this morning for example (Gracie). Is contents being managed? Not a trick question; I actually don't know, hence my comment.

It takes five minutes to create your own, possibly self-hosted blog nowadays, so posting here on DEV.TO is something one does purposefully to benefit from the many eyeballs and captive audience. This post strikes me because a 2-seconds search for "deno" on this site would have brought a dozen of articles repeating the same bullet points and video. This one is an ad-dump. As a regular reader, I'm asking myself: what was brought to the community's plate, or my own? This is not the first time I see this on DEV.TO, duplicate/reworded contents and poorly disguised ad have been rampant. All known, unfortunate practices I'm afraid.

I'm not asking for censorship of course, but if this is a community, and not a free-for-all dumping ground for people to just drive traffic back to their own portals or products, I believe we could benefit from being able to easily flag posts as duplicate, low-quality, "ad", or "sponsored", whichever may apply. And possibly filter our feeds accordingly, or by a quality threshold. This would elevate the experience for developers.

UPDATE: answer from a co-founder

v6 profile image
πŸ¦„N BπŸ›‘

Uh, does graphqleditor work with deno somehow? How does the GraphQLEditor part of the post relate to the first part?

Also, I think Ryan's name got misspelled in here.