Please help us improve and share your feedback! If you find better tutorials or links, please share them by opening a pull request.
This 3-week SHA 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".
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 |
Watch Jason's playlist on Lynda.com (45 min)
And you can start with the Node.js Tutorial for Beginners
Read Jim's summary of promises from JavaScript module and Promises, async/await.
We're going to use the latest Node.js LTS 8.x. Follow one of the following instructions depending on your operating system:
We will build on knowledge from the following (sub)modules. If we feel we have gaps we should review the curriculum ourselves or ask a teacher to help.
- 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
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 SHA chose Node.js over others:
- You already know JavaScript, so it's easier to get started;
- 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.
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.
- Lecture 1 (Joost): https://www.youtube.com/watch?v=c8OvRVsbIsc
- Lecture 2 (Joost): https://www.youtube.com/watch?v=pY7IDaLX-no
- Lecture 3 (Joost): https://www.youtube.com/watch?v=oeWCqKJsHtU&t=99s