Building Web Apps with Angular and TypeScript

Video description

Angular and TypeScript have become key tools for enterprise web developers. Angular's web dev platform works for teams with mixed skill levels and doesn't need additional libraries and tools to develop a complete app. TypeScript is a superset of JavaScript that makes developers more productive. Why? Because writing code in traditional JavaScript allows for errors to sneak into deployed code, while TypeScript's static typing catches those errors during development. This course gets you started with web app development using Angular and TypeScript. You’ll learn the basics of the Angular framework and its tooling for developing single page web apps; you'll generate a new project using Angular CLI and work with modules, components, dependency injection, routing, reactive programming, and inter-component communication; and then learn how to make HTTP requests to a web server. You'll finish up by doing a code review of a frontend sample online auction. The course works best if you've completed the O'Reilly videos "TypeScript Essentials" and "RxJS Essentials." Requirements include basic experience with JavaScript and understanding of an object-oriented programming language. Please have a current version of Node.js, the Chrome browser, and Visual Studio Code loaded on your computer before you start the class.

  • Understand how Angular projects are structured
  • Survey TypeScript basics (e.g., classes, interfaces, generics, type definition files, etc.)
  • Learn how to create reusable components and services
  • Practice arranging client-side navigation using the router
  • Discover how to inject services into components
  • Understand to communicate with servers using HTTP
  • Pick up the ability to deploy Angular apps on Web servers

Yakov Fain is a Java Champion and cofounder of the IT consultancy, Farata Systems. An in-demand speaker at international conferences, Yakov has written 1,000 blogs ( and authored or coauthored multiple books about software development, including Angular 2 Development with TypeScript (Manning Publications) and Enterprise Web Development (O'Reilly Media).

Table of contents

  1. A High-Level Overview of Angular
    1. Introduction
    2. The Main Angular Players
    3. Angular Project Structure
    4. Installing Angular and Its Dependencies with npm
    5. Generating Projects with Angular CLI
    6. How to Run Code Samples of This Course
  2. TypeScript Basics
    1. Introduction to TypeScript and Compiling TypeScript into JavaScript
    2. TypeScript Classes
    3. TypeScript Generics
    4. TypeScript Interfaces
    5. Destructuring Objects
    6. TypeScript Compiler: TSC
    7. Type Definition Files
  3. Angular Templates and Bindings
    1. Binding to Component Properties in Angular
    2. Binding to Events in Templates in Angular
    3. Two-Way Binding with ngModel in Angular
  4. Client-Side Navigation with Angular Router
    1. Single Page Applications with Angular
    2. Angular Location Strategies
    3. Configuring Routes in Angular
    4. Passing Data to Routes in Angular
    5. Child Routes
    6. Guarding Routes with Angular Router
    7. Router Recap
  5. Dependency Injection in Angular
    1. Benefits of Dependency Injection with Angular
    2. Injectors and Providers with Angular
  6. Reactive Programming in Angular
    1. Benefits of Reactive Code
    2. The Main RxJS Players
    3. RxJS Operators
    4. Creating Observables
    5. Marble Diagrams
    6. Observables in Angular Forms and Observable Events
    7. Observable HTTP Requests in Angular
    8. Observables in the Angular Router
  7. Inter-component communications in Angular
    1. Using Component's @Input Properties
    2. Using Component's @Output Properties
    3. Inter-Component Communication Via a Common Parent
  8. Component Lifecycle and Change Detection in Angular
    1. Change Detection in Angular
    2. Component Lifecycle Hooks in Angular
  9. Introduction to Angular Forms API
    1. Template-Driven Forms in Angular
    2. Reactive Forms in Angular
  10. Communicating With a Web Server from the Angular Client
    1. Preparing the Node.js Server
    2. Working with the Angular Http Object
    3. Working with the Angular HttpClient Object
    4. Deploying Apps on the Server with Angular CLI

Product information

  • Title: Building Web Apps with Angular and TypeScript
  • Author(s): Yakov Fain
  • Release date: September 2017
  • Publisher(s): O'Reilly Media, Inc.
  • ISBN: 9781491996751