He explained that Deno is an attempt to undo the mistakes he committed with Node—lack of attention to security, module resolution through node_modules, and various deviations from how browser’s worked, among other things.
A lot of developers have issues when it comes to the security part of Node.js, especially when access is granted to packages that shouldn’t be able to use our machine or network. According to a study, conducted by a hacker, 14% of the Node Package Manager (NPM) ecosystem is impacted and about 54% of the NPM ecosystem is likely to be impacted indirectly.
Deno: Safer, faster, lighter
The software is built on Rust, which experts say that was the ideal decision since it not only made the runtime quicker and bug-free but also increased security.
Once a programme is launched, it may quickly access your file system or network—a severe security weakness. Deno solves the issue by executing the code in a sandbox. It means that your file system or network are not accessible to the runtime.
Besides security, Dahl’s concern was also related to speed. To solve this, he used Rust, a computer language that has recently gained popularity in the development world. This language has gained popularity for a variety of reasons, including guaranteeing that our applications are free from undefined behaviour and data races, increased memory safety, and so on. Rust is an extremely safe and fast programming language.
In addition to being safer and faster, the software is lighter than Node. Dahl added built-in package management for resource retrieval, eliminating the need to utilise NPM.
Another advantage of Deno is that it caches all modules that you download. So, if a module is downloaded, Deno will cache it and not download it again until it is given the reload command.
So, what about Node.js?
Deno is, undoubtedly, addressing the various drawbacks of Node, but it’s nowhere close to posing any threat to its predecessor.
According to experts, Deno would take several years to gain traction. It is currently quite restricted, with many libraries still lacking. As a result, businesses would be slow to adopt it since it requires them to rewrite their programmes, which is time-consuming and costly. If Deno can provide compatibility with prominent Node.js libraries, widespread adoption may be achievable.