Node.js - Theme titleThe Node.js ecosystem is quite young and prolific: new tools appear almost every day or week, changing and turning upside down your current workflow, always trying to squeeze a little more productivity to your time and effort or simply making your work easier.

As an example, take a look on the NodeFramework page, where Azat Mardanov (@azat_co) collects lot’s of frameworks and utilities related to Node.js. Or NodeWebModules, more web oriented than the previous one, from Caio Ribeiro Pereira (@crp_underground).

Let’s start with the basics:

node and npm. node is the command line Javascript interpreter and it’s the core for the whole ecosystem. npm on the other hand, is a tool to manage that ecosystem, allowing you to install new modules and tools, and keeping them up to date. Although npm is not tightened to node, it’s provided with the default Node.js installation package, making it the defacto Node.js module manager.

But npm is not only a module manager: it’s also a great tool to manage a node project dependencies, taking care of recursive dependencies and resolving collisions between modules. You can take a look to all its capabilities in this great tutorial from Isaac Z. Schlueter (@izs).

Anyone can create and share npm modules, making the ecosystem bigger and bigger. At this moment npm repository has around 54K packages ready to download, and its growth rate is faster than other’s ecosystems (see also this link):

Packages per day across popular platforms (Source: www.modulecounts.com) Packages per day across popular platforms (Source: www.modulecounts.com)

The current state of art of the Node.js ecosystem include, among others, these tools as the most popular ones,  in my opinion:

  • CoffeeScript
  • Grunt
  • Express
  • Mocha
  • PM2

But I’m sure that many other tools and modules deserve to appear in this top 5 list. It’s so nice and funny to keep discovering new jewels every single day, isn’t it? :-)