It has been a while since I took up Node.js development.
My early impressions were pretty positive and after some months of Node.js development I have to say that I am amazed.
There are many reasons to continue using Node.js for my projects.
Great for Applications with Heavy I/O
The asynchronous nature of Node.js enables you to stay focused on your implementation. You don’t need to proceed to any extra configurations as you do with multithreaded environments. Also, long I/O operations don’t have to be dispatched to any custom mechanisms, enabling you to avoid any extra costs on development.
Provided your application is mostly based on I/O and less on computation, chances are that Node.js will work for you.
Node.js is one of the best bootstrapping experiences that I have had with a programming environment. All you need is to have node and npm installed. There are libraries for almost everything you need and the configurations needed are minimal.
Also, getting started with the implementation of your Node.js extension takes you no time at all.
All it takes to setup your project is your source code and a package.json file with your dependencies.
Not Another Web Framework
Node.js is not another web application framework. Due to its asynchronous nature and efficiency it can be applied to many problems. For example, it can be used as a glue among components of your infrastructure. Also, due to heavy development you don’t just have a runtime environment, you have a whole ecosystem with tools that apply to a wide variety of problems.
Node.js is already a part of the tools that I use on a daily basis. However, it should be used wisely and make sure that it fits your project’s nature.
It is really challenging to deal with the callback hell, but in exchange you get a pretty promising and fast-growing ecosystem.