Comprehensive Angular

4.7 out of 5 (241 reviews)  

ANG-174 (5 Days)
Request Pricing for Comprehensive Angular

Angular Training Overview

Angular allows developers to easily build dynamic, responsive single-page web applications that dynamically rewrite portions of the current page rather than having to generate a new page in response to every request.

Accelebrate's Angular training teaches attendees how to build applications using ES6, TypeScript, and modern front-end tools, including npm and Webpack. Students also gain an understanding of application architecture and design best practices in Angular, as well as learn how to authenticate, unit test, and manage application state in an Angular application.

Note: This course is taught in the current version of Angular at the time of teaching.

Location and Pricing

Accelebrate courses are taught as private, customized training for groups of 3 or more at your site. In addition, we offer live, private online training for teams who may be in multiple locations or wish to save on travel costs. To receive a customized proposal and price quote for private on-site or online training, please contact us.

In addition, some courses are available as live, online classes for individuals. See a schedule of online courses.

Angular Training Objectives

All students will:

  • Understand how single-page web application architectures are different than traditional web application architectures
  • Use new JavaScript (ES6) language features including Classes, Modules, and Arrow Functions
  • Use new TypeScript language features including Types, Decorators, Interfaces, and Generics
  • Learn Angular coding and architecture best practices including project layout and using container and presentation components
  • Understand and use Angular model-driven forms, observables, dependency injection, and routing
  • Communicate with a backend server using Angular’s HttpClient to load and save data
  • Configure the router and navigate between components
  • Leverage IVY,  the new Angular compiler, for faster and smaller builds
  • Understand & Preview Ivy: the Next-Generation Compilation & Rendering Pipeline
  • Unit test all parts of an application including Components, Services, and Pipes
  • Understand RxJS and Observables and where they can be used
  • Implement Authentication and Authorization in an Angular Application
  • Optimize Angular Performance by changing Change Detection Strategies
  • Setup new projects from scratch using the Angular CLI
  • Scaffold modules, components, services, models, routes, and unit tests in accordance with best practices using the Angular CLI
  • Build and deploy an application to production using the Angular CLI
  • Write End-to-End Tests (optional; taught only if this applies to your group)
  • Upgrade an existing application from AngularJS to Angular 9 (optional; taught only if this applies to your group)

Angular Training Outline

Expand All | Collapse All | Printer-Friendly

Introduction
TypeScript and ECMAScript 6 (ES6) Fundamentals
  • TypeScript Installation, Configuration & Compilation
  • Type Annotations
  • Classes
  • Scoping using let, var, and const Keywords
  • Arrow Functions
  • ES Modules
  • Decorators
  • Template Literals
  • Spread Syntax and Rest Parameters
  • Destructuring
Angular Overview
  • Benefits of Building using Angular
  • Understanding Angular Versions
  • Single-page Web Application Architectures vs. Traditional Server-side Web Application Architectures
  • Angular Style Guide
  • Angular Architecture
  • Angular Compared to Other JavaScript Libraries and Frameworks (React, VueJS, etc…)
  • Your First Angular Application
Components
  • Understanding Components
  • Component Properties & Methods
  • Templates: Inline, Multi-line, and External with Component-relative Paths
Angular Modules (NgModule)
  • Angular Modules vs. ES Modules
  • Organizing your code into Feature Modules
Project Set-Up (Using the Angular CLI)
  • Angular CLI Features
  • Creating a New Project (with new CLI Prompts)
  • Generating Code
  • Customizing the Angular CLI
Data Binding
  • Interpolation
  • Property binding
  • Event binding
  • Two-way data binding
Directives
  • Structural: ngFor, ngIf, ngSwitch
  • Attribute: ngClass, ngStyle
Pipes
  • Built-in Pipes: Using, Passing Parameters, Chaining
Advanced Components
  • Component Communication using @Input, @Output
  • Component Architecture
  • Component Styles
  • Component Lifecycle Hooks
  • Evaluating UI Component Frameworks & Libraries
Services & Dependency Injection
  • Using a service to access data
  • Using a service to encapsulate business logic
  • Understanding the scope of services
Dependency Injection
  • Understanding Dependency Injection
  • Angular’s Dependency Injection System
  • Registering
  • Injecting
Model-driven Forms (Reactive Forms)
  • Importing the ReactiveFormsModule
  • FormControl, FormGroup, and AbstractControl
  • Binding DOM Elements to FormGroups and FormControls
  • Validation Rules, Messages, and Styles
  • Refactoring Reactive Forms for Reuse
  • Custom Validators
Communicating with the Server using the HttpClient Service
  • Deciding between Promises or Observables (RxJS)
  • Making an HTTP GET Request
  • Sending data to the server using Http POST and PUT Requests
  • Issuing an HTTP DELETE Request
  • Intercepting Requests and Responses
Router
  • Importing the RouterModule
  • Configuring Routes
  • Displaying Components using a RouterOutlet
  • Navigating declaratively with RouterLink
  • Navigating with code using the Router
  • Accessing parameters using ActivatedRoute
Deploying an Angular Application to Production
  • Building an application using the Angular CLI
  • Differential loading: creating a modern build (ES2015) and a legacy build (ES5)
  • Deploying to a web server
Ivy: Next-Generation Compilaton & Rendering Pipeline
  • Understanding Ivy
  • Status: Is Ivy Ready? (opt-in preview)
  • Previewing Ivy in a new Project
  • Previewing Ivy in an existing Project
Upgrading to the latest version of Angular from earlier versions
  • 2.x and above
  • Update Guide
  • Deprecation Guide
  • Patching Dependencies: npm audit fix
  • Looking for AngularJS to Angular upgrades? See optional topics below.
Unit Testing
  • Tools: Jasmine, Karma
  • Jasmine Syntax: describe, it, beforeEach, afterEach, matchers
  • Setup and your First Test
  • Testing Terminology: Mock, Stub, Spy, Fakes
  • Angular Testing Terminology: TestBed, ComponentFixture, debugElement, async, fakeAsync, tick, inject
  • Simple Component Test
  • Detecting Component Changes
  • Testing a Component with properties (inputs) and events (outputs)
  • Testing a Component that uses the Router
  • Testing a Component that depends on a Service
  • Testing a Service and Mocking its HTTP requests
  • Testing a Pipe
RxJS and Observables
  • What is an Observable?
  • Creating Observables
  • What is an Observer?
  • Observer Example
  • Operators: map, switchMap, debounceTime, distinctUntilChanged
  • Practical Application of using RxJS
  • Subject
  • Subject Example
  • EventEmitter or Observable
Security
  • Best Practices
  • Preventing Cross-site Scripting (XSS)
  • Trusting values with the DOMSanitizer
  • HTTP Attacks (CSRF and CSSI)
  • Authentication using JSON Web Tokens (JWT)
  • Authorization: Router Guards
Change Detection
  • Understanding Zone.js and Change Detection
  • Change Detection Strategies Default and OnPush
Advanced Angular CLI
  • Customizing a build using Builder APIs in the CLI
  • Generating web workers
Advanced Routing
  • Lazy-loading Angular Modules (using Dynamic Imports)
  • Nested or Child Routes
Advanced Dependency Injection
  • Providers
  • Hierarchical Injection
  • providedIn options: root, module, platform, any
Pipes
  • Creating a custom Pipe using PipeTransform
  • Understanding Pure and Impure Pipes
Conclusion
Choose any two additional topics. If desired, the course can be customized to include more than two of these topics if other topics are scaled back or removed.
  • npm QuickStart
    • Installing Dependencies
    • Understanding package.json and package-lock.json
    • Using npm as a Build Tool
  • Managing Shared Application State using ngrx and Redux
    • Benefits Overview
    • Three Principles of Redux: Single Source of Truth, State is Read-Only, Pure Functions
    • Examples of Pure Functions
    • Reducers
    • Simple ngrx Example
    • Time-traveling with Redux Devtools
    • Full ngrx Example Application
  • Upgrade Strategies from AngularJS
    • High-level Approaches
    • Concept Mapping AngularJS to Angular
    • UpgradeAdapter
    • What can be Upgraded or Downgraded
    • What cannot be Upgraded or Downgraded
    • UpgradeAdapter and Dependency Injection
  • End-to-End Testing
    • What is Protractor?
    • Why Protractor?
    • Using Locators
    • Page Objects
    • Debugging E2E Tests

Here's a sample Angular lesson demonstrating how to use the Accessor API to create a custom reactive form control. You may also download the code and demos shown in the video.

See other Angular topics in our video series, 5-minute Angular Tips.

Request Pricing for Comprehensive Angular

Lecture percentage

40%

Lecture/Demo

Lab percentage

60%

Lab

Course Number:

ANG-174

Duration:

5 Days

Prerequisites:

All Angular training students must have substantial prior experience developing with JavaScript. If attendees will not have prior JavaScript experience, we would be delighted to precede this class with a one- or two-day intensive JavaScript primer.

Training Materials:

All Angular training attendees receive comprehensive courseware.

Software Requirements:

  • Google Chrome
  • Other modern browsers as desired
  • IDE/development environment of your choice
  • Other free software and lab files that Accelebrate would specify

Contact Us:

Accelebrate’s training classes are available for private groups of 3 or more people at your site or online anywhere worldwide.

Don't settle for a "one size fits all" public class! Have Accelebrate deliver exactly the training you want, privately at your site or online, for less than the cost of a public class.

For pricing and to learn more, please contact us.

Contact Us Train For Us

Have you read our Google reviews?

Toll-free in US/Canada:
877 849 1850
International:
+1 678 648 3113

Fax: +1 404 420 2491

925B Peachtree Street, NE
PMB 378
Atlanta, GA 30309-3918
USA

Subscribe to our Newsletter:

Never miss the latest news and information from Accelebrate:

Microsoft Gold Partner

Please see our complete list of
Microsoft Official Courses

Recent Training Locations

Alabama

Birmingham

Huntsville

Montgomery

Alaska

Anchorage

Arizona

Phoenix

Tucson

Arkansas

Fayetteville

Little Rock

California

Los Angeles

Oakland

Orange County

Sacramento

San Diego

San Francisco

San Jose

Colorado

Boulder

Colorado Springs

Denver

Connecticut

Hartford

DC

Washington

Florida

Fort Lauderdale

Jacksonville

Miami

Orlando

Tampa

Georgia

Atlanta

Augusta

Savannah

Hawaii

Honolulu

Idaho

Boise

Illinois

Chicago

Indiana

Indianapolis

Iowa

Cedar Rapids

Des Moines

Kansas

Wichita

Kentucky

Lexington

Louisville

Louisiana

New Orleans

Maine

Portland

Maryland

Annapolis

Baltimore

Frederick

Hagerstown

Massachusetts

Boston

Cambridge

Springfield

Michigan

Ann Arbor

Detroit

Grand Rapids

Minnesota

Minneapolis

Saint Paul

Mississippi

Jackson

Missouri

Kansas City

St. Louis

Nebraska

Lincoln

Omaha

Nevada

Las Vegas

Reno

New Jersey

Princeton

New Mexico

Albuquerque

New York

Albany

Buffalo

New York City

White Plains

North Carolina

Charlotte

Durham

Raleigh

Ohio

Akron

Canton

Cincinnati

Cleveland

Columbus

Dayton

Oklahoma

Oklahoma City

Tulsa

Oregon

Portland

Pennsylvania

Philadelphia

Pittsburgh

Rhode Island

Providence

South Carolina

Charleston

Columbia

Greenville

Tennessee

Knoxville

Memphis

Nashville

Texas

Austin

Dallas

El Paso

Houston

San Antonio

Utah

Salt Lake City

Virginia

Alexandria

Arlington

Norfolk

Richmond

Washington

Seattle

Tacoma

West Virginia

Charleston

Wisconsin

Madison

Milwaukee

Alberta

Calgary

Edmonton

British Columbia

Vancouver

Manitoba

Winnipeg

Nova Scotia

Halifax

Ontario

Ottawa

Toronto

Quebec

Montreal

Puerto Rico

San Juan

© 2013-2020 Accelebrate, Inc. All Rights Reserved. All trademarks are owned by their respective owners.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.