Professional Node.js

Course Description Overview

Course Number:
035419
Course Length:
4 days
Course Description Overview:

In this course, you will be presented with various sets of patterns that are ready to use to efficiently solve your everyday development and design problems.


You will understand what different traditional design patterns look like in Node.js, and how to design modules that focus on performing a single task at a given point in time.


You will gain an understanding of the basic building blocks and principles of writing large and well-organized Node.js applications. You will be able to apply these principles to problems that don't fall within the scope of existing patterns.

Node.js is considered a game changer. It is the biggest shift of the decade in web development. Node.js applications are written in JavaScript, which enables scenarios such as single-language application stacks and the sharing of code between the server and the client.


The goal of this course is to guide you through the emerging world of patterns, techniques, and practices, helping you to understand proven solutions to common problems.


Throughout the course, you will be presented with several libraries and technologies. They will be used to demonstrate a pattern or technique, and will also give you great exposure to the Node.js ecosystem and its set of solutions.

Course Objectives:
This course will uncover a set of patterns to solve common problems encountered in Node.js design and coding. Finally, you will explore writing modular and efficient Node.js applications.
This course is for developers who have already had initial contact with Node.js and now want to get the most out of it in terms of productivity, design quality, and scalability. You are only required to have some prior exposure to the technology through some basic examples, since this course will cover some basic concepts as well. Developers with intermediate experience in Node.js will also find the techniques presented in this course beneficial.
Target Student:
-
Prerequisites:
-
Course-specific Technical Requirements Software:

 

Installation and Setup

Before you start with this course, we'll install Node.js and Google Chrome. Here, you will find the steps to install these.


Installing Node.js

  • Follow the steps in the installer and that's it—your Node.js is ready!

Installing Google Chrome

Download and install the latest Chrome version at https://www.google.com/chrome/browser/desktop/ .

Course-specific Technical Requirements Hardware:

This course will require a computer system for the instructor and one for each student. The minimum hardware requirements are as follows:

 

  • Processor: Pentium 4 (or equivalent)
  • 2GB RAM
  • Hard disk space: 10GB
  • A projecting device (for the instructor only)
  • An internet connection
  • A keyboard, mouse, or other pointing device
Certification reference (where applicable)
-
Course Content:

Lesson 1: Welcome to the Node.js Platform

  • The Node.js Philosophy
  • Introduction to Node.js 6 and ES2015
  • The Reactor Pattern

Lesson 2: Node.js Essential Patterns

  • The Callback Pattern
  • The Module System and its Patterns
  • The Observer Pattern

Lesson 3: Asynchronous Control Flow Patterns with Callbacks

  • The Difficulties of Asynchronous Programming
  • Using Plain JavaScript
  • The async Library

Lesson 4: Asynchronous Control Flow Patterns with ES2015 and Beyond

  • Promise
  • Generators
  • Async/Await Using Babel
  • Comparison

Lesson 5: Coding with Streams

  • Discovering the Importance of Streams
  • Getting Started with Streams
  • Asynchronous Control Flow with Streams
  • Piping Patterns

Lesson 6: Design Patterns

  • Factory
  • Revealing Constructor
  • Proxy
  • Decorator
  • Adapter
  • Strategy
  • State
  • Template
  • Middleware
  • Command

Lesson 7: Wiring Modules

  • Modules and Dependencies
  • Patterns for Wiring Modules
  • Wiring Plugins

Lesson 8: Universal JavaScript for Web Applications

  • Sharing Code with the Browser
  • Introducing Webpack
  • Fundamentals of Cross-Platform Development
Registration
Register Now