In this course we provide an overview of Node.js, including writing asynchronous code with callbacks and streams, and modularizing your application with NPM and require(). We also look at built-in API's for building and scaling web applications as well as a few key third party modules.
In this course we begin with Node's background, concepts and strategies for writing asynchronous code. We then examine Node's module system, including built-in modules, application modularization as well as the NPM third party module registry. From there we tackle EventEmitters and Streams, as well as utilities for interacting with the local file system. Next we look at using Node to write both client and server web applications, as well as real time integration with Socket.IO. We cover writing unit tests using both the built-in assert module and third party frameworks. We wrap up with a look at launching child processes in Node and writing scalable applications with the "cluster" module.