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 most bootstrapping experiences that I 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.
Set up Simplicity
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 It’s 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 wise 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.
4 thoughts on “Why I use Node.js”
True. But there are drawbacks too: less scalable than more mature solutions (vert.x is my favorite) and many node modules are crappy at best, sometimes taking the stability of your app down.
Vert.x is great I can’t wait for a new project to sink my teeth into it.
However I think that my node.js experience (and due it’s different needs) enhanced my approach on problems.
I am a complete newbie in web development and I’d like to get started. I’ve read about Node but also about Meteor, built on top of Node, as being easier still. Do you have any opinions on Meteor?
Sorry I have no Meteor experience at all. But I advice you to go for it. You have nothing to loose 🙂