/Node.js

HackYourFuture - Node.js

Primary LanguageJavaScript

Please help us improve and share your feedback! If you find better tutorials or links, please share them by opening a pull request.

HackYourFuture - Node.js

This 3-week HYF Module is about Node.js. We can think of Node.js as "Javascript not running in a browser". This is what we mean by "backend", as in "backend developer".

Planning

Week Topic Read Homework
1. Node.js, npm, http Week 1 Reading Week 1 Homework
2. fs, process Week 2 Reading Week 2 Homework
3. express, REST Week 3 Reading Week 3 Homework

Before your first Node.js lecture

Start with the Node.js tutorials for beginners from The Net Ninja and from thenewboston.

Read first weeks's README.md.

Promises' refresher

Reading:

Read Jim's summaries of promises and async & await from JavaScript module

Promises, async/await

Node.js Setup

We're going to use the latest Node.js LTS 8.x. Follow one of the following instructions depending on your operating system:

Pre-requisites

We will build on knowledge from the following HYF (sub)modules. If we feel we have gaps we should review the curriculum ourselves or ask a teacher to help.

What will we learn?

  • What is Node.js?
  • Using Node Package Manager (NPM)
  • Using require to include modules
  • Using http to handle and respond to HTTP requests
  • Using fs to read from and write to files
  • Using process to read arguments from command line
  • Using express to make a RESTful API

Why Node.js?

It is essential to have a backend for almost all web application. The backend is a place where we, developers, can store our data, communicate with users and let users communicate with us, do smart things like calculations, data processing, etc.

There are many languages for this. You might've heard of Java, C, C++, C#, Go, Python, Ruby, PHP and so on.

There are two reasons why we at HYF chose Node.js over others:

  1. You already know JavaScript, so it's easier to get started;
  2. Node.js is great for making web APIs because it is asynchronous by nature and thus allows for high throughput, so it allows many users to make very light requests at the same time.

Handing in homework

Take a look at this video made by Daan, he explains how your homework needs to be handed in from now on.

Also review the Git workflow material and use it as a reference.

Rewatch previous lectures