Aurelia Framework

4 Day Course
Hands On
Code AUR

This course has been retired. Please view currently available Javascript Training Courses.


Collapse all

Introduction to Aurelia (10 topics)

  • SPA (Single Page Application) Architecture
  • Transpilers and Polyfills
  • ECMAScript 2015 and 2016
  • About TypeScript and Flow
  • Classes
  • Modules
  • Inheritance
  • Modules with Multiple Exports
  • Promises
  • ES-Next: Decorators & Class Properties

Using Auerlia (18 topics)

  • Aurelia Overview and Features
  • Licensing and Benefits
  • Browser Compatibility
  • A First Application
  • The Aurelia Bootstrapping Process
  • Customizing Application Startup
  • The Aurelia Skeleton Navigation Starter App
  • The Webpack Skeleton Navigation Starter App
  • Using Aurelia CLI
  • Bundle and Minify
  • Using NPM and JSPM
  • Contact Manager Tutorial
  • Globalising Resources
  • Organistion the App with Features
  • Leveraging Progressive Enhancements
  • Customising Conventions
  • Logging
  • Integrating Other Technology: Polymer

Plugins (6 topics)

  • Installing Plugins
  • Validating Input
  • Using the Validation Plugin
  • I18N
  • Dialog Service Plugin
  • Dialing Service and Modal Dialogs

Creating Components (3 topics)

  • Creating Components
  • Component Instantiation with DI
  • The Component Lifecycle

Implementing MVVM (6 topics)

  • MVVM Key Concepts
  • MVVM Approaches
  • Using the Compose Element to Set Up an MVVM Hierarchy
  • Leveraging Compose Element Options
  • Implementing Composite View Hierarchies with the Compose Element
  • Override View Resolution Conventions

Using Dependency Injection (12 topics)

  • Object Lifetime, Child Containers, Default Behaviours
  • Containers
  • Purpose of Dependency Injection and Related Patterns
  • Inversion of Control/Dependency Injection: Problem and Solution
  • Using the 'inject' Decorator
  • Declaratively Registering Lifetime of Instances
  • Using Lifetime Management Decorators
  • Explicitly Registering Types and Instances
  • Using Framework Configuration to Explicitly Register Types
  • Using Resolvers
  • Lazy Loading and Plugin Instancing
  • Registering Global Dependencies

Aurelia Data Binding (9 topics)

  • Data Binding Overview
  • Aurelia Data Binding Overview
  • Aurelia's Adaptive Data Binding System
  • Primary Data Binding Syntax
  • A Walk Through the Data Binding so Far
  • Binding with innerHTML and textContent
  • Data Binding Modes
  • Controlling Data Flow with Data Binding Modes
  • Event Bindings

Advanced Data Binding (14 topics)

  • Using if, show, and ref Bindings
  • Using Advanced repeat.for Capabilities
  • Specialized Bindings: Style and CSS Bindings
  • Using Style and CSS Bindings
  • Setting up for Data Input
  • Using Select, Radio, and Checkbox Bindings
  • Avoiding Dirty Checking
  • Using computedFrom Decorator
  • Binding with ValueConverters
  • Transforming Data with ValueConverters
  • Extending Data Binding with Binding Behaviours
  • Using updateTrigger, throttle, and debounce Binding Behaviours
  • Using the Signal Binding Behaviour
  • Custom Binding Behaviours

Templating: Extending Aurelia (15 topics)

  • Templating Basics
  • HTML Behaviours Introduction
  • Content Projection
  • Dynamic Projection
  • Dynamic UI Composition
  • Custom Elements
  • Turning a View and ViewModel into a Custom Element
  • Tapping into the Lifecycle of a Custom Element
  • Controlling the Name and Container of a Custom Element
  • Implementing Replacable Parts in a Custom Element
  • Custom Attributes
  • Simple Single Valued Custom Attributes
  • Passing Multiple Parameters to a Custom Attribute
  • Implementing an 'if' Custom Attribute
  • Implementing a TemplateController

Aurelia Routing (11 topics)

  • Routing Overview
  • Defining and Configuring Routes
  • Removing Unnecessary ViewModels
  • Defining and Using Basic Routes
  • Routing to Multiple Views and Dynamically Generating Nav Menus
  • Building out The Client Services Layer of an App
  • Passing and Consuming Parameters in Routing
  • Using URL Parameters
  • Generating Route URLs from Routing Configuration
  • Using Query String Parameters
  • Programmatic Controlling Navigation

Further Aurelia Routing (12 topics)

  • Screen Activation Lifecycle
  • Returning Promises from the Activate Method
  • Rejecting Navigation with CanActivate
  • Handling Unfinished Actions Before Navigation
  • Sibling Navigation Panes with ViewPorts
  • Sibling Navigation Panes with ViewPorts
  • Child Routing
  • Activation Strategies
  • Reusing ViewModels with Activation Strategies
  • Enabling PushState in Client Addressing
  • Custom Navigation Pipeline Steps
  • Implementing Custom Navigation Pipeline Steps

HTTP Services (6 topics)

  • Overview
  • RESTful Services Overview
  • Using JSON/XML
  • Calling HTTP Services
  • Aurelia Simple HTTP Client
  • Aurelia Fetch Client

Pub/Sub Events (2 topics)

  • Pub/Sub Events and EventAggregator
  • Using Pub/Sub Events

Securing Aurelia Applications (4 topics)

  • Introduction to Web Security
  • Authentication and Authorisation
  • Validation and Sanitization
  • Secret Data

Testing (5 topics)

  • Testing Components
  • End-to-End Testing
  • Testing Applications and Frameworks
  • Defining and Running Unit Tests
  • Defining and Running End-to-End Tests

Aurelia Pre-Production (6 topics)

  • Overview
  • Building the Application
  • Using the Skeleton Navigation Sample App's Build Infrastructure
  • Bundling Applications
  • Preparing Code for Build, Bundle, and Run
  • Bundling App Modules and Aurelia Libraries


Substantial prior experience with JavaScript and HTML5.

Additional Learning

The courses below may help you meet the knowledge level required to take this course.

Course PDF