Few days ago, a very dear friend of mine came up to my place with a present. It was a nodejs book. This is a new or maybe it would be more accurate to say an emergent technology which brings back an old idea that I used to hear of long time ago: a server side javascript. That was something that was supposed to exist somewhere, as it was mentioned in the prefaces of many javascript related papers: “javascript runs on the browser but there is also a server side…” for me it was just a sort of legend, without any proof of real existence or running implementation. Around 2009 Ryan Dahl, based on google chrome’s V8 javascript engine, started developing a server side platform to run javascript code. NodeJS environment, basically, lead us to event-driven programming, nonblocking I/O and function callbacks.

The core of NodeJS (or simply Node) is a very simplified base where you can build your applications. But you don’t need to develop everything from scratch, Node coders are a pretty active community that already has thousands of modules of all kinds covering every aspect you can think of.

If you want to start coding and running Node programs right now you can download it from their website. In the event that you feel the need for further explanation to install Node on your computer, do yourself a favor and don’t keep on trying. I’m serious here. Stay away from any computer, run away to the countryside, pick up berries, talk to birds and you’ll live happily ever after.

¿What kind of tools can be used for node? from console based to modern IDEs. Vim, Sublime or other simple editors for example. For debugging purposes your chrome browser can be attached to a node program. Also you can use Eclipse based Nodeclipse or a nonfree IDEs like WebStorm

Last summer I played around with Node, testing callbacks, event emitters, express, MongoDB drivers, among other things... From now on I’ll try to follow this book and write stuff about Node on a regular basis. Hope that you enjoy the ride.