What this book covers
Chapter 1, Building Your First Angular Application, shows how to set up the development environment by installing the Angular CLI and explains how to use schematics (commands) to automate tasks such as code generation and application building.
We will create a new simple application using the Angular CLI and build it. We will also learn about some of the most useful Angular tools that are available on Visual Studio Code.
Chapter 2, Introduction to TypeScript, explains what is TypeScript, the language that is used when creating Angular applications, and covers the most basic building blocks, such as types, template strings, lambdas, and classes. We will learn how to use decorators that are widely used in Angular classes and modules. We will take a look at some of the advanced types and the latest features of the language.
Chapter 3, Organizing Application into Modules, explains what modules are in Angular and how they differ from modules in TypeScript. We will learn about the most common modules that we use in Angular and discuss the purposes of the different types of modules.
Chapter 4, Enabling User Experience with Components, explains how a component is connected to its template and how to use a TypeScript decorator to configure it. We will take a look at how components communicate with each other by passing data from one component to another using input and output bindings and learn about the different strategies for detecting changes in a component. We will also learn how to create standalone components.
Chapter 5, Enrich Applications Using Pipes and Directives, covers the built-in directives and pipes. We will build our own custom pipe and directive and use them in a sample application that demonstrates their use. We will also learn the difference between attribute and structural directives.
Chapter 6, Managing Complex Tasks with Services, explains how the dependency injection mechanism works, how to create and use services in components, and how we can create providers in an Angular application.
Chapter 7, Being Reactive Using Observables and RxJS, discusses reactive programming and how we can use observables in the context of an Angular application through the RxJS library. We will also take a tour of all the common RxJS operators that are used in an Angular application.
Chapter 8, Communicating with Data Services over HTTP, explains how to interact with a remote backend API and perform CRUD operations with data in Angular. We will also investigate how to set additional headers to an HTTP request and intercept such a request to act before sending the request or upon completion.
Chapter 9, Navigate through Application with Routing, explains how to use the Angular router in order to activate different parts of an Angular application. We will find out how to pass parameters through the URL and how we can break an application into routing modules that can be laz ily loaded. We will then learn how to guard against our components and how to prepare data prior to initialization of the component.
Chapter 10, Collecting User Data with Forms, explains how to use Angular reactive forms in order to integrate HTML forms and how to set them up using FormGroup and FormControl. We will track the interaction of the user in the form and validate input fields.
Chapter 11, Introduction to Angular Material, discusses how to integrate Google Material Design guidelines in to an Angular application using a library called Angular Material that is developed by the Angular team. We will take a look at some of the core components of the library and their usage. We will discuss the themes that are bundled with the library and how to install them.
Chapter 12, Unit Test an Angular Application, explains how to test Angular artifacts and override them in a test, examines the different parts of a test, and explains which parts of a component should be tested.
Chapter 13, Bringing Application to Production, discusses the hosting providers that are supported by the Angular CLI. We will perform build optimizations prior to deployment, and we will use the Angular CLI to deploy to GitHub Pages.
Chapter 14, Handling Errors and Application Debugging, explains how to handle different types of errors in an Angular application and understand errors that come from the framework itself. We will learn how to debug an Angular application using and how to profile it using Angular DevTools.