Building web apps with Angular and TypeScript

In recent years a lot of effort has gone into making HTML and JavaScript a better place for web apps rather than just web content. With Angular, you can exploit these new and modern concepts to take it to the next level.

By using a componentized approach, Angular is better equipped than ever to build performant data-driven web-apps. While Angular takes care of data binding, navigation and server communication; TypeScript allows you to use the most advanced features JavaScript has to offer on any browser. Features like strong typing make your application more maintainable, better structured and flexible.


Participants of this course need to have a good understanding of JavaScript, HTML and CSS and a notion of node.js and npm.


This course targets professional web developers who are looking for a kick-start into the world of Angular and TypeScript

Kursens mål

  • Set up and write application with TypeScript.
  • Create and manage Angular applications.
  • Use data binding to update your screen.
  • Split up complex interfaces into components.
  • Write their own directives and pipes.
  • Create complex forms with validation.
  • Communicate with a REST backend.
  • Write a Single Page Application with client-side routing.


Introduction to Angular

In this module you'll see what Angular is all about and why it is so important in modern web development.

  • Evolution in Web App Development
  • Angular Core and Modules
  • TypeScript, Dart, Plain Old JavaScript

Strongly Typed JavaScript with TypeScript

Let's face it: JavaScript was never designed for big applications. Many constructs to tame complex code like interfaces and strong typing are completely absent. And many of the new cool JS features are not implemented in current browsers. TypeScript is the solution to both problems; allowing you to write modern, application-scale JavaScript.

  • Writing Application-Scale JavaScript
  • Type-Safe JavaScript Development with TypeScript
  • Implementing Types, Classes and Inheritance
  • Namespaces and Modules

Core Concepts

In this module you'll get acquainted with the most important building blocks for any Angular application. This is the foundation of all following chapters.

  • Components
  • Modules
  • Services
  • Tools

Data binding

Data binding allows you to forget about the HTML while writing JavaScript code. It allows you to inject data into a view without creating a strong dependency between the two. This results into more flexible, testable and maintainable code.

  • The Importance of Binding
  • Component to View
  • Structural Directives
  • Local Template Variables
  • Value Conversion
  • View to Component


In this module we'll dive a bit deeper into Components. You'll learn how to create a hierarchy of components and how to communicate between them.

  • Using Multiple Components
  • Input and Output
  • ViewChild and ContentChild
  • EventEmitter
  • Directive Life Cycle

Attribute Directives

What if you want to add custom behavior to an existing element? In this module you'll explore existing directives like NgClasses and NgStyle; and learn how to build your own.

  • What are Attribute Directives?
  • Built-in Attribute Directives
  • Custom Attribute Directives

Structural Directives

With structural directives you can change the flow in your HTML. For example, how do you generate HTML dynamically based upon your data without having to write HTML in your JavaScript?


  • What are Structural Directives?
  • Built-in Structural Directives
  • Templates
  • Custom Structural Directives

Dependency Injection and Providers

Dependency Injection (DI) is the art of taking two strongly coupled objects and tearing them apart. This helps you write understandable, maintainable and testable code. It's not really a choice in Angular either: you have to do it. Angular has an entire mechanism based on Providers to support DI which you will explore in this module.

  • Terminology
  • Dependency Injection Basics
  • Services
  • Providers
  • Factories
  • Injection Tokens


Pipes are a convenient way to make little changes to values in a view. This includes formatting and filtering of data. It's easy to use and to extend the possibilities of pipes.

  • Using a Pipe
  • Built-in Pipes
  • Custom Pipes
  • Pure versus Impure

Working with Forms

Forms are essential to any app that allows you to manage data. You need to do more than just data binding. You need validation, automatic formatting, respond to data changes a so on. Angular provides two different approaches to dealing with this: Template-driven forms and Model-driven forms. This module will explore both.

  • What's in a Form
  • Responding to Changes
  • FormBuilder
  • Data Validation

Talking to the Server

This module will teach you how to retrieve and send data to your backend. We will focus on REST and use RxJS's Observables to get the job done.

  • Sending and Receiving Data
  • HTTPClient Module
  • HTTP Interceptors
  • Observables versus Promises

Building a Single Page Application

Instead of hopping from one page to the next, you can design your website as a Single Page Application. This makes your website feel and perform more like an application. SPAs have many advantages, but are usually difficult to implement. This module will teach about the constructs available in Angular to build a SPA.

  • What is a SPA
  • Router Module
  • Route Configuration
  • Parent-Child Navigation
  • Route Guards

Boka kursen

Boka din plats redan idag.

Om kursen

Pris: 25 450,00 kr

exklusive moms

Längd 3 dagar
Kurskod M55266

KompetenskortKompetenskort gäller på denna kurs

Boka kursen

Välj ort och kursstart

lc LiveClass innebär att kursen hålls som en lärarledd interaktiv onlineutbildning.

29 juni


Kursanmälan är bindande. För mer information och avbokningsregler se våra allmänna villkor.