Back in 2008, I started a series of articles on Networking basics titled the "Networking ABC’s" in which I set out to document a networking Term for each letter of the alphabet. After some good feedback, I followed that up with The "Social Media ABC’s" and then the "PowerShell ABC’s".
After a hiatus on my ABC series, I decided to start it back up again, this time focusing on the up and coming development language Node.js. With F5's release of the Linerate Application Proxy earlier this year, F5 officially added Node.js to it's portfolio of application APIs. For those new to Node.js, this series aims to take 26 of the basic terms or concepts and hopefully give you some insight into how they support the language and runtime.
For the first article in this series I'm going to try to explain what Node.js is. For that, I'll start with the definition on the Node.js website.
What Is Node.js?
Not unlike Java, Python, or PHP, the Node.js runtime can be used to build client and server applications. Due to it's light footprint, it is also ideal for embedded systems such as F5's Linerate Application Proxy.
Node.js has a base built-in library of standard runtime functions (I/O, environment, etc) and, like Perl's massive public repository of support libraries, Node.js has the same that can be managed with the Node Package Manager. The online repository for Node.js packages can be found at https://www.npmjs.org/. With a whopping 104,144 packages that have been contributed by the user community, you will likely find help for any task you want to accomplish.
Getting Up And Running
Download the Node.js runtime from the Downloads section of the Nodejs.org website. Pre-built packages are available for Windows, OSX, Linux, SunOS. A source package is available as well if you want to build it yourself.
Install the runtime distribution. This will provide you with the "node" and "npm" applications.
Open a console window and run the “node” (or “node.exe on windows) command to start the runtime interpreter.
Your First Node.js Program
When you are interested in tackling some more interesting problems, check out the “learnyounode” node package linked to above. The first few are fairly basic and the last ones can be a bit of a challenge to the intermediate level developer as well.
Be on the lookout for the next article in this series where I talk about Buffers.