NodeJS Training Course

Course Summary

Introduction to node.js training is a hands-on class introducing you to how to get started with node.js.Node.js is described as “a platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.” Sever-side JavasScript has arrived!

In this class, you will learn about how to get up and running with node.js going through the installation, npm, websockets, rdaemon, http server and a library that can be used to replace hand coded http server’s called express.js. Students will build a non-web based application, followed by a simple web based application building on that knowledge. Finally a simple graphical multiplayer game example will finish off the hands-on building.

[top] Duration

2 days.

[top] Objectives

By the end of this training, you will have a better understanding of what node.js is and what are the capabilities of it. You will know how to install and use it for simple applications

[top] Prerequisites

You are strongly encouraged to have basic JavaScript skills prior to taking this class. Installation will be tested on Linux, Mac and PC with example on EC2. JQuery familiarization.

[top] Outline

Overview

  • What is node.js and why all the fuss about it?
  • Why and when to use node.js

Get Started

  • How to get non-web based application running
  • How to get a web based application running
  • A very simple multiplayer game type example

Node Modules

  • JavaScript and Node.js
    • JavaScript and You
    • A word of warning
    • Server-side JavaScript
    • "Hello World"
  • A full blown web application with Node.js
    • The use cases
    • The application stack
  • Building the application stack
    • A basic HTTP server
    • Analyzing our HTTP server
    • Passing functions around
    • How function passing makes our HTTP server work
    • Event-driven callbacks
    • How our server handles requests
    • Finding a place for our server module
    • What's needed to "route" requests?
    • Execution in the kingdom of verbs
    • Routing to real request handlers
    • Making the request handlers respond
  • How to not do it
  • Blocking and non-blocking
  • Responding request handlers with non-blocking operations
    • Serving something useful
  • Handling POST requests
  • Handling file uploads