Your privacy matters: This site uses cookies to analyze site usage and provide social media features. Learn More.

Comprehensive Angular

ANG-174 (5 Days)
4.63 out of 5 (19 reviews)  

Request Pricing

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 appropriate for all versions, Angular 2 through Angular 7.

Location and Pricing

Most Accelebrate courses are delivered as private, customized, on-site training at our clients' locations worldwide for groups of 3 or more attendees and are custom tailored to their specific needs. Please visit our client list to see organizations for whom we have delivered private in-house training. These courses can also be delivered as live, private online classes for groups that are geographically dispersed or wish to save on the instructor's or students' travel expenses. To receive a customized proposal and price quote for private training at your site or online, 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
  • 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 7 (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
  • 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 the application using the Angular CLI
  • Deploying to a web server
Angular 7 (Optional; taught only if this applies to your group)
  • What's New in Angular 7
    • CLI Prompts
    • Angular Material ScrollingModule and DragDropModule
  • Upgrading to Angular 7 from earlier versions of Angular
Angular Roadmap for the Future
  • Ivy Renderer
  • Angular Elements
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 Routing
  • Lazy-loading Angular Modules
  • Nested or Child Routes
Advanced Dependency Injection
  • Providers
  • Hierarchical Injection
Pipes
  • Creating a custom Pipe using PipeTransform
  • Understanding Pure and Impure Pipes
Conclusion
Choose any two optional 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
Request Pricing

Related Topics

Lecture percentage

50%

Lecture/Demo

Lab percentage

50%

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 courseware and the latest/best Angular textbook as of the date of training.

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

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

Toll-free in US/Canada:
866 566 1228
International:
+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

Huntsville

Montgomery

Birmingham

Alaska

Anchorage

Arizona

Phoenix

Tucson

Arkansas

Fayetteville

Little Rock

California

San Francisco

Oakland

San Jose

Orange County

Los Angeles

Sacramento

San Diego

Colorado

Denver

Boulder

Colorado Springs

Connecticut

Hartford

DC

Washington

Florida

Fort Lauderdale

Miami

Jacksonville

Orlando

Saint Petersburg

Tampa

Georgia

Atlanta

Augusta

Savannah

Idaho

Boise

Illinois

Chicago

Indiana

Indianapolis

Iowa

Ceder Rapids

Des Moines

Kansas

Wichita

Kentucky

Lexington

Louisville

Louisiana

Banton Rouge

New Orleans

Maine

Portland

Maryland

Annapolis

Baltimore

Hagerstown

Frederick

Massachusetts

Springfield

Boston

Cambridge

Michigan

Ann Arbor

Detroit

Grand Rapids

Minnesota

Saint Paul

Minneapolis

Mississippi

Jackson

Missouri

Kansas City

St. Louis

Nebraska

Lincoln

Omaha

Nevada

Reno

Las Vegas

New Jersey

Princeton

New Mexico

Albuquerque

New York

Buffalo

Albany

White Plains

New York City

North Carolina

Charlotte

Durham

Raleigh

Ohio

Canton

Akron

Cincinnati

Cleveland

Columbus

Dayton

Oklahoma

Tulsa

Oklahoma City

Oregon

Portland

Pennsylvania

Pittsburgh

Philadelphia

Rhode Island

Providence

South Carolina

Columbia

Charleston

Spartanburg

Greenville

Tennessee

Memphis

Nashville

Knoxville

Texas

Dallas

El Paso

Houston

San Antonio

Austin

Utah

Salt Lake City

Virginia

Richmond

Alexandria

Arlington

Washington

Tacoma

Seattle

West Virginia

Charleston

Wisconsin

Madison

Milwaukee

Alberta

Edmonton

Calgary

British Columbia

Vancouver

Nova Scotia

Halifax

Ontario

Ottawa

Toronto

Quebec

Montreal

Puerto Rico

San Juan

© 2013-2019 Accelebrate, Inc. All Rights Reserved. All trademarks are owned by their respective owners.