Thomas Tastet
Thomas Tastet

Thomas Tastet

Why I left Node for Deno 🦕

Thomas Tastet's photo
Thomas Tastet
·Feb 26, 2021·

5 min read

Featured on Hashnode
Why I left Node for Deno 🦕

Subscribe to my newsletter and never miss my upcoming articles

Introduction 🦕

If you don’t know Deno , it is a javascript runtime like Nodejs but with some changes.

We are not going to talk about the technical aspect here but only the advantages and disadvantages that I have in working with Deno.


Write and play

With Deno, you no longer need to install packages with package managers like NPM, so no more heavyweight node_modules folder on your computer (and also on your conscience).

Imports are done with Urls which can be either in deno's package manager with versioning, or directly on the git directory of your favorite library.

To illustrate that, here a sample code to start a web server with Deno and Oak Server :

import { Application } from "";

const app = new Application();

app.use((ctx) => {
  ctx.response.body = "Hello world!";

await app.listen("");

You can also run codes that are not on your computer like Nessie which lets you perform database migrations directly from the command line with Deno.

deno run --allow-net --allow-read --allow-write init


Yes, Deno uses typecript by default for your code writing to avoid many errors, and since typescript is the norm in this perfect world, all libraries written in Deno uses typescript are typed.

And typescript is fully integrated into our IDEs, the code is easier to debug! 😁

WebAssembly 👀

Deno integrates browser APIs and therefore has the WASM API allowing you to use functions written in other languages directly in your code.

I was personally tired of seeing Python run after installing each dependency in my NodeJs projects, it gave an impression of instability and that’s verified by running a code on different OS ...

But it's resolved as WASM is universal and standardized!

Browser APIs

Deno has (again) a big advantage, that offering browser APIs to make the javascript development environment more homogeneous with front-end javascript development.

For example : the standardized function " fetch " is available with Deno.

Custom Formatter

Deno integrates a custom formatter to make the code in your project between each developer more homogeneous with the deno fmt command

But not everything is perfect

I only see 2 problems using Deno :


Since Deno is still young, the libraries and the runtime may have bugs.

I have often had to spend long hours debugging my code to fix crashes.

Often due to a bad cache or a version change in a dependency or runtime.

On the other hand, the more we advance in time, the more stable Deno is and the libraries also with a strong open source community.

For example, I have more easily participated in open source projects using the deno runtime to improve them than NodeJs.


The number of available libs is still quite low, again due to Deno's age, but this number is increasing day by day (javascript ecosystem, lol)!


In the end, I use Deno whenever I have to do something other than frontend, instead of using NodeJs, if the library I want to use doesn't exist, then I create it and make it public to help other people.

And I learned a lot from the open-source community by operating like this!

Share this


Hi there 👋

I have been coding since I was 11, it was at that age that I discovered that we could write things that made our lives easier or had a greater impact (websites).
Since then I have been CTO of a website development company using Shopify for online stores.
And one day maybe I'll live in Canada *my dream*

Javascript, Typescript, HTML/CSS, Shell, MySQL, Redis, Go, Liquid, PHP

Project Management, Continuous Integration/Continuous Development integration, Automated Systems, Agile development, ElectronJS, NodeJS,, REST API, ReactJS, GatsbyJS, Netlify, Prismic

Project on new plateformes, project in new languages, motorbikes, series, philosophy and video games.