Node.js

Node.js is a JavaScript runtime environment most commonly used for creating web servers

Difficulty

Intermediate

Course Duration

2 hrs 25 mins

Chapters

7

Exercises

-

Quizzes

-

Prerequisites

  • JavaScript

    Node.js is a JavaScript runtime environment so, certainly, knowledge of core JavaScript is assumed.

Course overview

Node.js is a JavaScript runtime environment, powered by the extremely robust V8 engine. Node.js has earned the reputation of primarily being used to power web server although it's much more capable beyond that.

For a long time — or better to say, for a very long time — JavaScript has remained within the bounds of web browsers. In 2009, being inspired to solve certain scalability issues plaguing other web server technologies, Ryan Dahl released a new server-side technology called Node.js and, as per the name, chose JavaScript as the scripting language.

Fast-forward today, Node.js is almost everywhere.

Many big companies have shifted their server-side logic to Node.js that anticipate a huge requirement of a high throughput on their servers, something which Node.js intrinsically shines in handling flawlessly.

Moreover, the npm package management system that Node.js offers to developers is used in cases that extend well beyond just backend development — a barebones React application also utilizes Node.js for powering local bundling tools that operate on the underlying file system.

The best thing about Node.js is that it enables existing frontend JavaScript developers to learn a couple of APIs meant for the server and get started with fullstack development in a relatively short span of time.

Compare this with having to learn another completely separate language solely for the server end; the likes of Java, Ruby, Python, PHP. Doesn't seem that quick to be able to shift as easily, right?

Learning outcomes

By the end of this course, you'll know:

  1. What exactly is Node.js and what problems it solves that traditional web server technologies have largely failed in solving efficiently.
  2. How to install and set up Node.js, and then configure its execution environment in VS Code.
  3. The two different modules systems in Node.js: CommonJS modules and ECMAScript modules.
  4. (more topics to follow...)

Table of contents

  1. Foundation

    In this unit, we get our Node.js foundation rock-solid, understanding such things as the non-blocking, event-based architecuture of the runtime environment; how to set up Node.js on Windows using VS Code; different module systems in Node.js; and so on and so forth.

FAQs

  • Is Node.js easy to learn?

    While Node.js isn't that difficult to learn, it isn't that easy either. Node.js is a technology primarily meant to be used to create web servers, and because creating a web server is a highly technical task, there is naturally a lot to learn in Node.js.

  • What if I get stuck somewhere in the course?

    If you're having a hard time understanding a given concept in the course, feel free to reach out to me at bilal@codeguage.com, describing the issue you're facing. I'll try my level best to help you out.

  • Some important topics are missing from the course. Why is that so?

    The courses on Codeguage are released while they are still under construction so that learners can get early previews. As I continuously work on adding more and more content to the courses, if a given topic isn't covered today, there's a high chance that it's already under way and will show up very soon. You can follow Codeguage on Twitter to be updated with all the latest content releases.

  • How can I ask any general questions related to the course's content?

    Write to me at bilal@codeguage.com.

It's different the 'Codeguage way'

Fundamentals-focused

When you have a robust foundation, with the fundamentals crystal-clear, your mind will intrinsically get that ability to handle any kind and level of complexity.

Comprehensive

With a comprehensive resource that covers literally every aspect of a given topic, your time is spent practicing the learnt concepts, not resolving confusions and basic questions.

Detailed

Coding is a detailed craft. Likewise, any resource trying to teach it in any way should be detailed as well, or else people will have to acquire those integral details from different places in a fragmented and haphazard manner.

Well-structured

Structure is vital to an intuitive learning experience of a given resource. Without structure, the right concepts get introduced at the wrong times, ultimately leading to confusion and breaking the desired flow of comprehension.

Let's start the learning!