I think NodeJS has finally met its match and its days are numbered.
But don't worry, it won't happen anytime soon.
Why do I think this?
The Ryan Dahl, the creator of NodeJS is working on a new project in parallel with NodeJS called DenoJS. The goal of DenoJS is to be a better NodeJS than NodeJS.
The main goal of the project is to address many of the regrets Ryan has with NodeJS. Before going any further, I recommend watching his JSConf presentation where he talks about the 10 things he regrets about NodeJS.
Now you had a chance to watch that, let's talk about DenoJS and how it differs from NodeJS.
First off, if you didn't pick up on it, DenoJS is an anagram for NodeJS.
DenoJS 1.0.0 was released on May 13th and is a V8 engine built using Rust.
The key features of DenoJS are:
- Improved Security
- Native TypeScript Support
- Single executable file with zero dependencies
- Includes reviewed and audited standard modules
- Includes built-in utilities
- Improved Browser Compatability
It is really early for DenoJS, and while it aims to solve problems with NodeJS, it won't be ready to replace it any time soon. So I wouldn't change anything you are doing now.
DenoJS improves security by restricting access to files and includes granular permission support. Security is the primary focus of DenoJS and is greatly improved compared to NodeJS.
Module support is another big feature of DenoJS, DenoJS does not import modules like NodeJS. DenoJS no longer requires a package manager, it uses the web standard ES modules even for non-browser code. This means you only need to specify a URL to a module and it will automatically manage it.
DenoJS will natively support ES6.
It is still early for DenoJS and while it is on release v1.0.2, it is still not recommended for most projects. It is certainly worth taking a look at as it is likely going to be where NodeJS goes in the future.
If you are interested in DenoJS, I recommend you go to their project page and read more.