Aurelia Framework

4 Day Course
Hands On
Code AUR

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


Hide 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.

  • HTML & CSS

    This 2-day course provides the skills required to construct and style a simple responsive web site using HTML and CSS.

    2 Day Course Hands On Training Course Code HCSS
    Classroom Virtual Classroom Private Group - Virtual Self-Paced Online
  • JavaScript 1

    This 3-day course provides the knowledge to be able to add dynamism and interactivity to a web site by producing scripts that exploit all core elements of the JavaScript language.

    3 Day Course Hands On Training Course Code JS1
    Classroom Virtual Classroom Private Group - Virtual Self-Paced Online

Course PDF