Course Overview
This 5-day JavaScript training course teaches fundamental concepts involved in creating both client and server-side applications using JavaScript, Node.js, and popular modern frameworks. A review of functional programming is followed by important industry patterns. Students will learn to apply popular ES 6 features, and learn how to implement Web Components. Server-side JavaScript is explored using Node.js, followed by detailed coverage of popular packages and frameworks including Express.js, MongoDB, Mongoose, Socket.IO, React.js, and an introduction to Docker.
Key Learning Areas
- Using ECMAScript 6 with specialized tools
- Creating custom elements with Web Components
- js concepts, conventions, and testing
- Finding and installing modules with NPM
- Listening for and handling events
- Working with streams
- Creating and using Promises
- Creating web applications and services with Express
- Accessing data with MongoDB and Mongoose
- io
- Creating interactive UIs with React
- Creating and using Docker containers
Course Outline
Functional JavaScript Recap
- Immediately Invoked Functions
- Using call(), apply(), and bind()
- Working with Array Functions
JavaScript Patterns
- The Need for Patterns
- Pattern Technology Enablers
- Understanding Closures
- Testing with QUnit
- Prototype Pattern
- Revealing Module Pattern
- Revealing Prototype Pattern
ECMAScript 6
- Classes
- Maps and Sets
- Arrow Functions
- Template Strings
- Destructuring
- Default and Rest Parameters
- Using Babel and Webpack
Web Components
- Web Components overview
- Define custom elements
- Markup templates
- Create a shadow DOM tree
Node.JS
- js overview
- Install and run Node.js
- Use npm to install third-party packages
- js Modules
- Callbacks and the Event Loop
- js Promises and Asynchronous Operations
- Events
- Streams
Workflow Automation and Testing
- Use Grunt to automate workflows
- Mocha for testing Node.js
Express Web Application Framework
- Installation
- Create an application
- Use and define routes
- Render views
- Serve static files
- Use and create middleware
- Error handling
MongoDB and Mongoose
- MongoDB and Mongoose overview
- Install and run MongoDB
- MongoDB GUIs
- Install Mongoose
- Define schemas and models
- Create, read, update, and delete documents
Socket.IO
- Install and configure Socket.IO
- Sending and receiving messages
- Namespaces and rooms
React
- What is React?
- Important React features
- JSX syntax
- Properties and State
- Repeating components
- Component lifecycle methods
- Handling DOM events
- React forms
Introduction to Docker
Who Benefits
Experienced JavaScript developers who want to learn how to use modern frameworks and packages to best apply their knowledge in the real world.
Prerequisites
Completed the 3-day Essential JavaScript course or have a minimum of 6 months experience using JavaScript. Experience using Visual Studio Code is helpful but not required.