Have you heard of the "new kid" in Back-End town? Well, he has been around for a while now, coming up on 8 years, but many people paid him no attention, as they were busy with their own PHP, Python, Java, etc.
But now, he is shining brighter than ever. He blossomed into a jack-of-all-trades, and a definite master of more-than-just-one; and his name is Node.js.
Node.js is an open-source, cross-platform JavaScript runtime environment for server-side execution of JavaScript code.
Put simply, while, in the old days, JavaScript used to be limited to browsers, with Node.js, it can be used to write stand-alone programs that run on the servers as well and use the same JavaScript engine Google uses for Chrome, which supports many of the latest language developments.
And this versatility is why it leads the charts for most active repositories on Github.
If you have not yet thought about it, you really should consider joining the illustrious group of Node.js developers. And we are here to show you the way with...
Let us get started with three tutorials that take care of the basics...
And oldie but goodie, this is a series of self-guided exercises that will let you gently dip your toes in the waters of Node.js for the first time.
Learnyounode will guide you from the initial hello world
incantation through sync and async I/O, filesystem operations, events, TCP and HTTP networking, and streams.
It is the tutorial that one of our developers described as "The tutorial that really got me into Node", and it will leave you with a great basis for further growth.
A course available through an Egghead subscription, Introduction to Node: The Fundamentals is an alternative first step towards Node mastery. The 84 minutes of this video-tutorial will teach you how Node.js works and scales. It focuses on the built-in features of Node.js, and teaches how to create a scalable application architecture. With TDD and BDD principles as the proverbial cherry on top, this tutorial is certainly worth checking out.
The update to a tutorial that first appeared in 2013 takes a different approach than the previous two. It is a single-post tutorial that quickly takes you through the very basics, so it can then show you how to set up a rudimentary Hapi web server. It finishes with a paragraph on code organization, making it the perfect tutorial for the programmer in a rush.
It is also a good idea to know something about the underlying principles of Node.js itself...
This is technically not a tutorial but rather a blog post which describes the Single Threaded Event Loop model used by Node.js. It juxtaposes it with conventional multithreaded methods and explains its pros and cons. It is relatively long and very condensed, so once you get through it, you will have a heap of new information, which will be of immense help when you are designing your next Node.js application.
This tutorial delves deep into how Node handles asynchronicity. It covers the historical use of callbacks, describes Promises, and moves on to "next gen" things like async and await.
An especially important part of the tutorial is the emphasis on differentiating (a-)synchronicity from events.
And, finally, there are some best practices that come in handy when you are drafting your own Node.js project...
Going from the basics to a full application can be a daunting task. This is a tutorial that will help you get from an empty folder to a working MVC application created with Hapi.js. While it does not take you all the way to production-ready, it does provide a very good basic framework you can then extend with things like input validation, error handling, authentication, etc.
An entry that comes from the knowledge trove of X-Team itself, this is a tutorial which will provide you with a fully custom application architecture built with Express. Like the previous tutorial, this one does not include things like input validation, authentication, etc. either, but it also provides an excellent framework which you can easily extend with all the required parts.
The Node.js community is an ever-growing family of developers that love discovering new and better ways of doing things. With Javascript's major leaps ahead every year with new standard implementations, Node.js is poised to become an even bigger fish in the pond of server-side development. These seven tutorials serve as a good beginning, but we encourage you to venture out there, find your favorite tutorial and share it with us in the comments below.