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

Comprehensive Angular 6

ANG-164 (5 Days)
4.62 out of 5 (81 reviews)  

Request Pricing

Angular Training Overview

Angular 6 allows developers to build robust applications with the user experience of a desktop application and the ease of deployment of a web application.

Accelebrate's Angular training teaches attendees the basics of creating Angular applications, including the JavaScript package manager (npm), the language (TypeScript), and how to use all of the Angular tools. Students then take their skills to the next level by implementing an Angular application using components, templates, services, routing, and tests. This course teaches best practices as well as the architecture and design of Angular applications.

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 6 (optional; taught only if this applies to your group)

Angular Training Outline

Expand All | Collapse All | Printer-Friendly

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
What's New in Angular 6
Upgrading to Angular 6 from earlier versions of Angular
TypeScript and ECMAScript 6 (ES6) Fundamentals
Classes
ES Modules
Arrow Functions
Template Literals
Scoping using let, var, and const Keywords
Spread Syntax and Rest Parameters
Destructuring
Static Type Annotations
Decorators
Angular Basics
Components
Templates: Inline, Multi-line, and External with Component-relative Paths
Angular Modules (NgModule)
Angular Modules vs. ES Modules
Data Binding
Interpolation
Property binding
Event binding
Two-way data binding
Directives
Structural: ngFor, ngIf, ngSwitch
Attribute: ngClass, ngStyle
Components
Component Lifecycle Hooks
Component Communication using @Input, @Output
Component Styles
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
Hierarchical Injection
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 ReactiveForms 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
WebSockets
Router
Importing the RouterModule and Routes
Configuring Routes
Displaying Components using a RouterOutlet
Navigating declaratively with RouterLink
Navigating with code using the Router
Accessing parameters using ActivatedRoute
Organizing your code into Modules
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 using a Spy
Testing a Component that depends on a Service using a Fake
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 Strategies
Default
OnPush
Advanced Routing
Lazy-loading Angular Modules
Location Strategies
Nested or Child Routes
Advanced Dependency Injection
Providers
Using the @Optional and @Host Decorators
Pipes
Built-in Pipes: Using, Passing Parameters, Chaining
Creating a custom Pipe using PipeTransform
Understanding Pure and Impure Pipes
Angular CLI
Creating a New Project
Generating Modules, Components, Models, and Services
Customizing the CLI to include CSS Preprocessors (SASS) and other UI libraries: Bootstrap, Material, or Clarity
Deploying an Angular Application to Production
Manually
Using the Angular CLI
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
Managing Shared Application State using ngrx and Redux
Upgrade Strategies from AngularJS
End-to-End Testing
Request Pricing

Lecture percentage

50%

Lecture/Demo

Lab percentage

50%

Lab

Course Number:

ANG-164

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 6 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 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.