0845 450 6120

Aurelia Framework

Aurelia is a JavaScript framework geared towards developers looking for a consistent, clear, well-supported framework for modern browser environments.

A modern architecture, combining adaptive databinding, extensible HTML, full routing capability, broad language support, a strong DI container and testable code;  Aurelia is not just another alternative in the framework marketplace, but has quickly become a leading choice amongst some established players.

The Aurelia Framework course provides developers with a broad,  rounded, hands-on course, and is fitting for those for which Aurelia may be the first JS framework they have encountered.

The delegate will learn and acquire skills as follows:

  • Setting up an Aurelia application
  • Installing plugins
  • Using Dependency Injection
  • Binding web components
  • Adding Custom Elements and Attributes
  • Routing Aurelia applications
  • Building web applications using the Aurelia Framework
  • Calling HTTP services from Aurelia
  • Securing an Aurelia web application
  • Testing an Aurelia application

Who will the Course Benefit?

The Aurelia Framework course is aimed at web developers that wish to use the Aurelia Framework to build modern, testable, extensible web applications.

Learning Objectives

By the end of the course delegates should be able to:

  • Set up an Aurelia Application
  • Define and describe IoC/DI in Aurelia
  • Develop a web application using the Aurelia framework
  • Extend Aurelia with Templating
  • Understand Routing in Aurelia
  • Call HTTP Services from an Aurelia Application
  • Understand Pub/Sub Events in Aurelia
  • Secure an Aurelia Web Application
  • Understand the Testing of Aurelia Applications
  • Build, Bundle and Run Aurelia Applications

Pre-Requisites

Requirements

Substantial prior experience with JavaScript and HTML5.

Pre-Requisite Courses

  • Web Development Foundation - HTML & CSS
  • JavaScript Web Development

Course Content

Day 1

Course Introduction

  • Administration and Course Materials
  • Course Structure and Agenda
  • Delegate and Trainer Introductions

Session 1: INTRODUCTION TO AURELIA

  • 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

Session 2: USING AURELIA

  • 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

Session 3: PLUGINS

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

Session 4: CREATING COMPONENTS

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

Day 2

Session 5: IMPLEMENTING MVVM

  • 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

Session 6: USING DEPENDENCY INJECTION

  • 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

Session 7: AURELIA DATA BINDING

  • 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

Session 8: ADVANCED DATA BINDING

  • 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

Day 3

Session 9: TEMPLATING: EXTENDING AURELIA

  • 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

Session 10: AURELIA ROUTING

  • 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

Session 11: FURTHER AURELIA ROUTING

  • 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

Day 4

Session 12: HTTP SERVICES

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

Session 13: PUB/SUB EVENTS

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

Session 14: SECURING AURELIA APPLICATIONS

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

Session 15: TESTING

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

Session 16: AURELIA PRE-PRODUCTION

  • 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
One Month
Two Months
Three Months
More than Three Months
PRINCE2 Foundation & Practitioner
MSP Foundation & Practitioner
APMP Certificate
ITIL Foundation
Scrum in One Day
Certified ScrumMaster
ISTQB Software Test Foundation
Microsoft Project
BCS Business Analysis Practice
Other - Please Specify Below

Online Courses

You may prefer an online course if you are looking for a flexible and cost-effective solution. Online courses allow you to study at your own pace, at a time that suits you.

We have the following eLearning options available:

Our Customers Include