Chapter 1: What is Angular?
- What is Angular?
- Some examples of the type of projects built with Angular
- Angular’s history
- Why use Angular?
- Features of Angular
- The Client Contacts Manager Application
- Summary
Chapter 2: Angular Architecture
- Overview of Angular
- Installing the Angular CLI
- Installing Visual Studio Code
- The architecture of an Angular app
- The architecture of our Client Contacts application
- Summary
Chapter 3: Getting Started with the Angular CLI
- How a CLI helps Angular developers
- Installing the Angular CLI
- Creating the Client Contacts Manager application
- Running your application in the browser
- Commands of the Angular CLI
- What are Schematics?
- Summary
Chapter 4: Components, Templates, and Forms
- Components
- What are components?
- Why do we have components now?
- The structure of a component
- The Component class
- The component life cycle hooks
- Passing data into and out of components
- Component templates
- Categories of components
- An introduction to forms
- Creating a Reactive form
- When to use template forms
- When to use Reactive forms
- Summary
Chapter 5: NgModules
- What are modules in Angular?
- The parts of the NgModule file
- How to create modules using the CLI
- Creating modules for our Client Contact Manager application
- Adding our Client components to the ClientModule
- Adding Angular Material
- Summary
Chapter 6: Routing and Navigation
- What are routes?
- Creating our navigation component
- Route parameters
- Route Guards
- Implementing a Route Guard
- Summary
Chapter 7: Dependency Injection, Services, and HttpClient
- What is Dependency Injection?
- How does Angular handle Dependency Injection
- Providers in Angular
- Services in Angular
- A look at the services Angular provides
- The HttpClient service
- Features of the HttpClient API
- Advanced features of HttpClient service
- Summary
Chapter 8: Observables and RxJs
- Observables
- What is RxJs?
- Operators
- Examples of Operators
- The Operator Decision Tree
- Subjects
- How Angular uses RxJs
- Summary
Chapter 9: State Management and NgRx
- Defining state management
- The Redux library
- Exploring NgRx
- Example of a Reducer
- Example of an Action
- Example of the Store
- Example of Selectors
- Effects
- Installing NgRx
- Summary
- Further Reading
Chapter 10: Testing
- Testing and Test Driven Development
- Jasmine in action
- Setup and tear down of tests
- The Karma test runner
- Taking a Test Driven Development approach
- Karma settings in Angular
- Running tests using the Angular CLI
- Writing tests in Angular
- The TestBed class
- Examples of tests
- Summary
Chapter 11: Packaging Our Application
- Building a release version with the CLI
- The angular.json file
- Ahead-of-Time compilation
- Other various production optimisations
- Making use of lazy loading
- Application size budget
- Measuring performance