Duration
3 days
Introduction
The Angular 17 training course covers all major components, syntax, and tooling of the Angular web application framework. Angular 17 fulfills the expectations of modern developers who demand fast performance and responsiveness from their web applications. Participants will set up their working environment to have all the tools needed to start building Angular 17 components with minimum effort. The program starts with an introduction of JavaScript, NPM, and TypeScript.
Participants will understand TypeScript, a powerful typed superset of JavaScript that compiles to JavaScript. The course dives into component-driven development with Angular components. The participants will also learn to create and use Angular 17 Directives and Pipes. Data binding (both 1 and 2 way) is discussed in the context of the new directive API. Finally, the core parts of Angular such as services, HTTP, routing, form validation are covered to develop applications based on the Model-View-Controller (MVC) architecture.
Objective
- Utilize the Angular core constructs to build Single Page Applications.
- Install necessary modules correctly using NPM.
- Write applications in TypeScript to be transferred to browser-supported JavaScript.
- Build Template and Module-driven forms.
- Utilize Pipes and built-in data formatting tools.
- Setup routing and URLs.
- Execute CRUD commands on REST APIs over Http.
Prerequisites
Before attending this course, students should have general programming experience and knowledge of HTML, CSS and JavaScript.
Course Topics
Introduction
- Overview of ES6
- Installing Node and NPM
- JavaScript Basic Syntax
- Detailing on ES6 problems
- Introduction to TypeScript
- TypeScript Environment Setup
- Basic Syntax
- Types, Variables and Operators
- Decision Making and Loops
- Functions and Lambda Expressions
- Introduction to TypeScript
- Classes and Objects
- Inheritance and Interface
- Generics
- Enums
- Number and Strings
- Arrays
- Namespaces and Modules
- Decorators
- Ambients
- Mixins
- Introduction to Angular
- Angular CLI
- Why Angular 17
- Angular 17 Features
- Installing and Using Angular 17
- Creating the first Angular Project
- Architecture Overview
- What is new in Angular 17
- Summary
- Building with Components
- Introducing the component
- Component Decorator Properties
- Template
- Inline Template
- Interpolation – Plain text, Object and Array
- Adding CSS
- Component Starter
- Integrating Bootstrap
- Summary
Day 2
- Data and Event Binding
- Binding Syntax
- One-Way Binding
- Property binding
- Attribute binding
- Setting Element Properties
- Binding Events
- Template Reference Variables
- Two-Way Binding of Input Fields
- Summary
- Attribute Directive
- What are Directives
- Directive Types
- Apply Styles using NgClass and NgStyle
- Applying Styles Directly
- Obsolete Directives and Property Binding
- Controlling Element Visibility
- Setting Image Source Dynamically
- Setting Hyperlink Source Dynamically
- Building a Custom Directive
- Summary
- Structural Directives
- Adding and Removing Elements Dynamically
- Looping Using ngFor
- ngFor - Basic Syntax
- Creating Tables with ngFor
- ngFor Local Variables
- Swapping Elements with ngSwitch
- ngSwitch - Basic Syntax
- ngSwitch - Full Template Syntax
- Summary
- Angular Forms
- A Basic Angular Form
- Data binding with Template Driven Forms
- Using Reactive Patterns in Angular Form
- Interacting with reactive forms
- Providing form status feedback
- Validating Form in Reactive way
- Creating custom validator
- Modifying form dynamically
- Manipulating form data
- Watching state changes and being reactive
- Summary
- Pipes and Data Formatting
What are Pipes?
Using a Built-in Pipe
Chaining Pipes
Some Pipe Examples
Decimal Pipe, Currency Pipe
Custom Pipes
Using Custom Pipes
A Filter Pipe
A Sort Pipe
Pipe Category: Pure and Impure
Pure Pipe Example
Impure Pipe Example
Summary
Day 3
- The Angular Component Router
- Routing and Navigation
- The Component Router
- Traditional Browser Navigation
- Component Router Terminology
- Setting up the Component Router
- Routes
- The app.routes.ts File
- Bootstrapping Routing in Main.ts
- A Basic App With Routing
- App Routes
- App Component
- Programmatic Navigation
- Basic Navigation
- Passing Data During Navigation
- Creating Routes with Route Parameters
- Navigating with Route Parameters
- Using Route Parameter Values
- Retrieving the Route Parameter Synchronously and Asynchronously
- Query Parameters
- Query Parameters - queryParams
- Query Parameters - Navigation
- Retrieving Query Parameters Asynchronously
- Summary
- Services and Dependency Injection
- What is a Service?
- Creating a Basic Service
- What is Dependency Injection?
- What Dependency Injection Looks Like
- Injecting Services
- Using a Service in a Component: Dedicated Instance
- Using OnInit to Initialize Component Data
- Using a Shared Service Instance
- Dependency Injection and @Host
- Dependency Injection and @Optional
- Summary
- RxJS and Observables
- What is an Observable?
- Observable Operators
- Creating Observables Using Static Operators
- What is an Observer?
- Subject
- Subject Example
- Event Emitter or Observable
- HTTP Client
- The Angular HTTP Client
- Importing Individual Providers into Services
- Service Using Http Client
- Service Imports
- What does an Observable Object do?
- Making a Basic HTTP GET Call
- Using the Service in a Component
- Importing Observable Methods
- Enhancing the Service with .map() and .catch()
- Using .map()
- Using .catch()
- Using toPromise()
- GET Request
- GET Request with Options
- POST Request
- POST Request Example
- Reading HTTP Response Headers
- Summary
- Angular Material
- Introducing Angular Material
- Integrating Angular Material in project
- Theming Angular Material components
- Adding Core Controls
- Buttons
- Form Controls
- Layout
- Popups and Modal Dialog
- Data table
- Summary
- Deploying Angular application
- Building an Angular application
- Building in different environment
- Limiting application bundle size
- Optimizing the application bundle
- Deploying to production
- Summary
Programme scope, delivery arrangements and suitability are confirmed during enquiry.