Realdolmen Education


Advanced Concepts of Angular

This course is currently not scheduled on the open calendar, but can be organized on request.

Request Course


2 day(s)


Web Application Developers


Basic knowledge of Angular


Learning how to create better Angular applications


Classroom training with hands-on exercises


In this course we're going to extend our knowledge of Angular. We'll start with how to structure you Angular application for larger applications and how to split up larger application in multiple modules.

We'll also dig deeper into the dependency injection system on how services are provided. We'll configure our own providers and see what Opaque tokens are and how to use them.

After that we'll do a deep dive of routing. Since a larger Angular application can be split into different modules, we'll see how we can define routes inside of a module. Further more we'll talk about controlling navigation from and to a route, on how we can fetch data while navigating. After that we'll see how you can just load the modules you need. This will improve the application's performance and startup time.

Forms is also an important part of an application. In this course we'll talk on how you can create forms using model driven form or reactive forms. We'll add custom validation to it and even create our own custom form controls.

Observables are a very nice feature but not easy to understand. This topic will try to explain what Observables are and how you can use them.

We'll end the course with optimizing our application for deployment.

This course is updated for the latest version of Angular.


  • App architecture
    • Multiple modules
  • Dependency Injection
    • Configuring providers
    • Using Opaque tokens
  • Routing
    • Child routes
    • Define routes in multiple modules
    • Control route activation and deactivation
    • Resolving data
    • Lazy load modules
    • Preloading strategies
  • Forms
    • Reactive forms
    • Custom validation
    • Custom form controls
  • Observables
    • Creating Observables and Subjects
    • Subscribing to Observables
    • Observable Operators
  • Optimizing for deployment