Advanced JavaScript & Node.js Training Course

Overview

Course

This workshop teaches the participants how to design and develop server side applications using the event-driven, non-blocking model framework Node.js. This program inducts the participant in some of the advanced concepts of the JavaScript language so that the participant is well equipped to build end-to-end application using JavaScript.

Objectives

At the end of this training course, the participants will:
  • Understand the non-blocking nature of Node.js
  • Writing asynchronous code with callbacks and streams 
  • Learn how to modularize code using NPM and require() 
  • Learn how to build web api using Express.js •Learn how to build real
  • Understand and take advantage of the built-in apis for building scalable few applications
  • Learn how to build web api using Express.js
  • Learn how to build real-time applications using WebSockets and socket.io

Content

ADVANCED JAVASCRIPT (0.5 DAYS)
  • Expressive JavaScript
        o The Flexibility of JavaScript
        o JavaScript as a Loosely Typed Language
        o Functions as First-Class Objects 
        o Object Mutability 

  • Functions In Depth 
         o Function Objects
         o Function Literal
         o Function Invocation Patterns
         o Augmenting Types oRecursion & Closures
         o Functions as Callbacks
         o Function Currying & Memorization

  • Closures In Depth oHow Closures Work
        o Private Variables, Callbacks and Timers
        o Binding Function Contexts
        o Overriding Function Behavior
  • Object Orientation With Prototypes
        o Object Instantiation
        o Constructors
        o Inheritance and Prototype Chain
        o Extending Object
        o Extending Number
        o Instantiation Issues
        o Writing class-like code
  • JavaScript Gotchas 
        o Global Variables
        o Scope
        o Semicolon Insertions
        o Type Coercion

NODE.JS
  • Introduction to Node.js
        o Installing Node.js
        o Node’s Event Loop
        o Alternatives to Node.js
        o Writing asynchronous code

  • Modularizing code 
        o Understanding built-in modules
        o Techniques for modularizing JavaScirpt code
        o Using require() to modularize application code
        o Using npm for third-party modules
        o Handling Exceptions

  • Events and Streams
        o Understanding Events
        o EventEmitter class
        o Understanding Streams
        o Reading and writing streams
        o Using pipe()
  • Accessing Local Resources
        o Process Object
        o Manipulating File System
        o Understanding Buffers
  • Node.js and the web
        o Handling web requests
        o Building a web server
        o Understanding the need for web sockets
        o Realtime interaction using socket.io
  • Building APIs using Express.js 
        o Installing Express.js
        o Routing
        o Parameters and queries in routing
        o Creating REST services
        o Authentication and authorization
        o Error Handling
  • NodeJs Addons using C++ 
        o Overview of N-API
        o Using node-gyp and node-addon-api 
        o Configuring application
        o Building and using C++ Api in Node.js
  • Scaling Node applications 
        o The Child process model
        Oexec, spawn, and fork functions
        0Using the Cluster module
  • Node.js Eco System 
        o Node Packages
        o Packages of interest
        o Deciding Factors

Audience

  • Web developer who wants to build data intensive scalable applications using Node.js

Prerequisites

Must Have
  • Experience in application development in any programming language 
  • Basic knowledge of the JavaScript language
Good To Have
  • Exposure to any server technology (J2EE, .NET, Ruby etc)

Certification

Schedule

Course ID:
AD-JAVASCRIPT-NODE


Show Schedule for: