Deno was essentially developed out of the things which Dahl thought were missed opportunities in nodejs. In the video below he talks in detail about the design considerations he had while designing node and how certain mistakes just stuck. As node became a hugely popular platform which could not be modified fundamentally, they took these ‘regrets’ and created Deno project to solve them.
That being said let’s see what is deno and why it is relevant to a person like me who is into data-analytics and visualisation.
So what is it?
1. Typescript support
2. Modern EcmaScript features
Node is notorious for having a lot of permissions to the host system by default. For example, node programs have access to the disk by default which is quite dangerous when running arbitrary code. In contrast, deno runs in sandboxed mode by default and every permission has to be explicitly allowed at runtime leading to better security model.
4. No more npm
There is no need for a package manager such as npm for deno as there is resource loading and package management built into it. You can literally include modules from a url! Since it is so simple, there is no need for the deeply nested and heavy node_modules folders.
Finally, as with any project which is serious about runtime safety, deno is developed in Rust! Hence it also supports better integration with Rust, web assembly etc. I am not entirely sure how exactly this is going to pan out but I think having rust in both front and backend for heavy lifting is going to result in a lot of low-latency, high-performance web applications.
In summary, deno looks like modern nodejs built from scratch to remove legacy design choices and include new developments in web technologies. As I said earlier, it has the potential to be the next node.js but it will be quite sometime before it makes its way into production systems.