In this particular post we'll focus more on our own experience at rspective which we've gathered over the course of ~5 years working with node.js, beginning with the early days and v0.8, through io.js, and till the latest 7.x.
With node.js we've built e-commerce platforms, ed-tech portals, social & messaging apps, insur-tech and banking apps, PoS integrations, marketing automation SaaS, hotel-booking systems, and more. In our projects, node.js usually powers entire backends, other times it's just a complementary microservice (e.g. to Salesforce) or a slim component that glues several SaaS together. In every case though, these apps start out as simple prototypes and dynamically grow in new features and volume of traffic over time.
So, why would you want to consider node.js in your next project?
With node.js you can get rolling quick
Thanks to the strong developer community and over 450k open-source modules out there, chances are that you don't have to reinvent the wheel and develop basic functionalities from scratch by yourself. Instead, you can just put the building blocks together and focus on the cool features you're about to release.
That's certainly a huge advantage especially for startups, which need to iterate a lot, experiment with new ideas, often times pivot away from their original concept, and in general - be able to deliver quick no matter what - and all that usually with very limited resources.
In fact, being a software house whose main target are startups and small companies, 95% of our projects are based on node.js. With this platform, it's not uncommon that we are able to release to production the first very basic MVP of the app in days rather than weeks.
Node.js is easy to scale
There are many apps out there that don't ever reach the point where scalability is an issue. But when they do - for us it's significantly easier to scale them up and prepare for heavy traffic and millions of users - when they use node.js under the hood. This doesn't imply that with Ruby, PHP or Java it's impossible - from our experience it just takes more effort and resources to have an environment of comparable overall performance.
In fact, at rspective, we've built node.js apps (and the infrastructure around them) that were able to handle the load of millions of users. As for a reference point, we've built performance-critical systems in java and ruby, too.
Node.js has a great developer community
Node.js has definitely been on the hype for quite a few years now. We believe it's more than just a hype that will fade away in a few years time - it's the future. And the main reason is its thriving community combined with the mindset of open source software. You can clearly see it e.g. in the package repository statistics, github octoverse stats or stackoverflow developer survey.