Last updated at Wed, 25 Oct 2017 19:50:33 GMT

As usual there was a good turn out at the monthly Node.js Dublin event in Engine Yard recently. Although some of the Logentries team have been working with Node.js for some time I have to admit I am a bit of a newbie… I’ve been interested in learning more about node in general as I constantly see it used for more and more cool use cases. I’ve provided a brief summary of my take on it at the April Node.js event for anyone who missed out – note, this is from a newbies perspective 🙂

Dominic Tarr started the show by presenting streams. He walked through several examples of possible stream usage in Node.js, e.g. how streaming makes it possible to parse very large files. Although the implementation of streams in Node.js seems to follow usual principles, what immediately struck me was definitely how concise the code was. Very impressive functionality can be achieved with very few lines of code! For anyone who uses node regularly this probably comes as no surprise – but I noticed this was common theme though out the entire evening as more and more code examples were shown.

Then Richard Rodger drew our attention to the challenge of organizing apps written in node.js. This was definitely an interesting angle to take as the event driven nature of javascript combined with the absence of standard framework makes it difficult to organize large projects. Some discipline as well as simple actions like organizing files in relevant folders are first steps towards improving on this.

Next, Anton Whalley demonstrated how node.js can be applied to a fun project such as Nodecopter. For anyone who hasn’t seen a nodecopter in action check this out! Nodecopters are flying robots controlled by your node.js code!!! Anton showed us how he got the nodecopter to dance with his nifty node skills… dance nodecopter dance!!

Finally Nuno Job, from Nodejitsu, introduced his view of Node.js: protocols + libuv + V8 + npm.

First Node.js is good at communicating through different protocols. As explained here for instance, it’s a great technology to quickly develop REST APIs, especially thanks to its non-blocking I/O model. Also Node.js relies on libuv, a very efficient event loop as well as Google’s efficient open source javascript engine, V8. As mentioned during the talk, efficiency is actually not Node.js’ main strength. A large part of node.js’s strength lies in its highly flexible package management system (npm) as well as how quick and straightforward it is to implement powerful features. As with many package managers, npm makes it easy to install Node.js modules. On top of this, npm makes it extremely easy to publish modules! This means that a lot of modules are readily available which helps with quick implementation.
This allows for developers to implement impressive functionality with only a few lines of code. Nuno gave a great example of this: a load balancer with sticky sessions in only a few lines of code.

In conclusion (from a newbies perspective at least) it seems Node.js, with its battery of available libraries, is a great language for quickly implementing server side applications.  In particular, what was clear from the Node.js Dublin event was the speed at which powerful programs can be implemented! Looking forward to next months meetup already!