Professional Node.js
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.
- Operating system: Windows Server 2008 R2 SP1 (and above) or Windows 7 SP1 (and above)
- A working installation of Node.js version 6 (or greater): https://nodejs.org/en/
- npm 3 (or greater): http://blog.teamtreehouse.com/install-node-js-npm-windows
- Google Chrome: https://www.google.co.in/chrome/index.html
- Notepad++: https://notepad-plus-plus.org/download/v7.5.6.html
- A transpiler, such as Babel: https://babeljs.io/repl/
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
- Visit https://nodejs.org/en/ in your browser.
- Click on 9.7.1 Current to download the setup.
- 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/ .
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
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