Back

Professional Node.js (LO035419)


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.

TARGET AUDIENCE:
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.

COURSE PREREQUISITES:
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
Software:

• 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/

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 Pattern
• 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

COURSE OBJECTIVE:
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.

FOLLOW ON COURSES:
Not available. Please contact.