Node.js Fundamentals

As a non-blocking programming language with amazing concurrency capabilities, it is no surprise that JavaScript shines just as brightly on the server side as it does in a browser. Whether you are making a build tool, web application or API, the rich JavaScript ecosystem and Node core libraries are by your side.

Node.js Fundamentals

Stage One Not a browser

You already know how to use JavaScript in the browser, so we will first focus on getting you acclimated to this different environment. When we are done, you will have a much better sense of how to separate the JS programming language from browser-specific and Node-specific features.

  • Duration: 240 minutes
Schedule

Stage Two Standard Library

Node is not just a server-side JavaScript runtime, it also includes a robust collection of libraries or “core modules” for managing the filesystem, streaming data, events and more! We will get some hands-on experience with a broad array of commonly-used libraries, so you know what is available and when to reach for it.

  • Duration: 190 minutes
Schedule

Stage Three Networking

Node comes with some great foundational support for both low and high-level networking. We will begin with writing a program that manages a TCP socket directly, then upgrade it to a turnkey HTTP server to build a simple web application.

  • Duration: 120 minutes
Schedule

Stage Four Processes and Clustering

Node applications run on a single thread, but they can start new processes and communicate with them to form a distributed system. We will look at several use cases for doing something like this, and study how the Actor Concurrency Model helps keep inter-process communication simple and cheap.

  • Duration: 150 minutes
Schedule

Stage Five Express

Express is, by a fairly large margin, the most popular web application framework for Node.js. It can be used to respond to HTTP requests with JSON, HTML, or pretty much anything else.

  • Duration: 190 minutes
Schedule

Stage Six Testing

You may already be using some Node-friendly testing tools and assertion libraries. We will focus mostly on Mocha, a flexible and straightforward testing framework that works equally well for server and client-side code.

  • Duration: 150 minutes
Schedule