Aurelia 1 Fundamentals (2024)

Course

Skills Expanded

by Brian Noyes

This course gives you an end to end coverage of the features of Aurelia, including the MVVM pattern, data binding, routing, dependency injection, and extensibility.

Preview this course

What you'll learn

Modern web client applications present new challenges for web developers to deliver rich, maintainable, and interactive web applications written with HTML, CSS, and JavaScript. In Aurelia Fundamentals, you will learn the skills you need to write maintainable, testable, and extensible client applications that are engaging, interactive, and responsive for your users. You will learn how to leverage all of the key features of Aurelia, including UI composition with the Model-View-ViewModel (MVVM) pattern; leveraging rich two-way data binding to decouple your views and UI logic and present rich data and content to your users; and client side routing and navigation that brings together the loosely coupled views into a cohesive whole for the end user. When you are finished with this course, you will have a solid, foundational understanding of all of the capabilities of the Aurelia framework and will be ready to start building amazing Aurelia web client applications that will delight your users.

Table of contents

Course Overview

1min

Aurelia Prerequisites

53mins

  • Version Check0m
  • Welcome2m
  • Single Page Application Architecture6m
  • Embracing the Modern Web4m
  • Transpilers and Polyfills3m
  • Package Management with NPM and JSPM5m
  • Setting up Projects with NPM and JSPM10m
  • ECMAScript 2015 and 20161m
  • What About TypeScript?4m
  • Classes4m
  • Modules 4m
  • Inheritance1m
  • Modules with Multiple Exports4m
  • Promises2m
  • Summary1m

Getting Started with Aurelia

45mins

  • Aurelia Overview3m
  • Browser Compatibility1m
  • Aurelia Features3m
  • Building a HelloAurelia App from Scratch9m
  • A Tour Through the Aurelia Bootstrapping Process6m
  • Customizing App Startup6m
  • Leveraging the Aurelia Skeleton Navigation Starter App8m
  • Using the Webpack Skeleton Navigation Starter App2m
  • Creating Projects with the Aurelia CLI5m
  • Summary2m

Implementing MVVM with Aurelia

30mins

  • Overview1m
  • Separation of Concerns3m
  • MVVM Goals and Benefits1m
  • MVVM Key Concepts1m
  • MVVM Pattern Responsibilities6m
  • MVVM Approaches in Aurelia1m
  • Using the Compose Element to Set Up an MVVM Hierarchy7m
  • Leveraging Compose Element Options2m
  • Implementing Composite View Hierarchies with the Compose Element3m
  • Override View Resolution Conventions in Aurelia4m
  • Summary1m

Using Dependency Injection In Aurelia

28mins

  • Overview1m
  • Purpose of Dependency Injection and Related Patterns1m
  • Inversion of Control/Dependency Injection: Problem and Solution5m
  • Using the 'inject' Decorator in Aurelia2m
  • Dependency Injection in Action in Aurelia4m
  • Declaratively Registering Lifetime of Instances in Aurelia1m
  • Using Lifetime Management Decorators in Aurelia1m
  • Explicitly Registering Types and Instances in Aurelia1m
  • Using Framework Configuration to Explicitly Register Types2m
  • Using Resolvers in Aurelia2m
  • Lazy Loading and Plugin Instancing with Aurelia4m
  • Registering Global Dependencies2m
  • Summary1m

Aurelia Routing Fundamentals

50mins

  • Overview1m
  • Routing Overview3m
  • Defining and Configuring Routes3m
  • Removing Unnecessary ViewModels3m
  • Defining and Using Basic Routes3m
  • Routing to Multiple Views and Dynamically Generating Nav Menus7m
  • Building out The Client Services Layer of an App7m
  • Passing and Consuming Parameters in Routing5m
  • Using URL Parameters6m
  • Generating Route URLs from Routing Configuration4m
  • Using Query String Parameters4m
  • Programmatic Controlling Navigation2m
  • Summary2m

Aurelia Routing Beyond the Basics

53mins

  • Overview2m
  • Screen Activation Lifecycle4m
  • Returning Promises from Your Activate Method4m
  • Rejecting Navigation with CanActivate3m
  • Handling Unfinished Actions Before Navigation4m
  • Sibling Navigation Panes with ViewPorts2m
  • Implementing Sibling Navigation Panes with ViewPorts3m
  • Child Routers Overview1m
  • Implement Child Routing6m
  • Activation Strategies3m
  • Reusing ViewModels with Activation Strategies6m
  • PushState Overview2m
  • Enabling PushState in Your Client Addressing4m
  • Custom Navigation Pipeline Steps3m
  • Implementing Custom Navigation Pipeline Steps4m
  • Summary2m

Aurelia Data Binding Fundamentals

39mins

  • Overview2m
  • Data Binding Overview3m
  • Aurelia Data Binding Overview2m
  • Aurelia's Adaptive Data Binding System6m
  • Primary Data Binding Syntax3m
  • A Walk Through the Data Binding so Far5m
  • Binding with innerHTML and textContent5m
  • Data Binding Modes1m
  • Controlling Data Flow with Data Binding Modes5m
  • Event Bindings Overview3m
  • Event Bindings in Action4m
  • Summary1m

Data Binding Beyond the Basics

88mins

  • Introduction2m
  • Behind the Curtain of Data Binding3m
  • Specialized Bindings: if, show, ref, and Advanced repeat.for6m
  • Using if, show, and ref Bindings3m
  • Using Advanced repeat.for Capabilities4m
  • Specialized Bindings: Style and CSS Bindings2m
  • Using Style and CSS Bindings2m
  • Specialized Input Bindings: Select, Radio, and Checkbox4m
  • Setting up for Data Input11m
  • Using Select, Radio, and Checkbox Bindings3m
  • Avoiding Dirty Checking1m
  • Using computedFrom Decorator4m
  • Binding with ValueConverters3m
  • Transforming Data with ValueConverters9m
  • Extending Data Binding with Binding Behaviors8m
  • Using updateTrigger, throttle, and debounce Binding Behaviors6m
  • Using the Signal Binding Behavior6m
  • Implementing Custom Binding Behaviors9m
  • Summary2m

Working with Services, Plugins, and Pub/Sub Events

47mins

  • Overview1m
  • Calling HTTP Services5m
  • Calling HTTP Services with the Aurelia Simple HTTP Client7m
  • Calling HTTP Services with the Aurelia Fetch Client7m
  • Using the Dialog Service Plugin1m
  • Showing Modal Dialogs with the Dialog Service Plugin8m
  • Validating User Input2m
  • Using the Validation Plugin8m
  • Pub/Sub Events and EventAggregator1m
  • Using Pub/Sub Events in Aurelia5m
  • Summary1m

Extending Aurelia with Custom Elements and Attributes

40mins

  • Overview1m
  • Custom Elements Overview3m
  • Turning a View and ViewModel into a Custom Element4m
  • Tapping into the Lifecycle of a Custom Element4m
  • Controlling the Name and Container of a Custom Element2m
  • Implementing Replacable Parts in a Custom Element3m
  • Custom Attributes Overview4m
  • Simple Single Valued Custom Attributes5m
  • Passing Multiple Parameters to a Custom Attribute4m
  • Implementing an 'if' Custom Attribute4m
  • Implementing Your Own TemplateController from Scratch4m
  • Summary1m

Preparing Your Aurelia Application for Production

40mins

  • Overview1m
  • Testing Applications and Frameworks3m
  • Get Started Defining and Running Unit Tests5m
  • Get Started Defining and Running End-to-End Tests3m
  • Building Your Application2m
  • Using the Skeleton Navigation Sample App's Build Infrastructure6m
  • Bundling Applications7m
  • Getting Your Code Ready to Build, Bundle, and Run in Production7m
  • Bundling Your App Modules and Aurelia Libraries5m
  • Summary2m

About the author

Brian Noyes

Brian Noyes is CTO and Architect at Solliance (www.solliance.net), an expert technology solutions development company. Brian is a Microsoft MVP and specializes in client application architecture, full stack web development, cloud and microservice architecture. Brian has authored several books and dozens of technology publication articles, including Developer's Guide to Microsoft Prism 4, Data Binding with Windows Forms 2.0, and Smart Client Deployment with ClickOnce. Brian got started programmin... more

See more courses by Brian Noyes

Aurelia 1 Fundamentals (2024)
Top Articles
Latest Posts
Article information

Author: Maia Crooks Jr

Last Updated:

Views: 6308

Rating: 4.2 / 5 (43 voted)

Reviews: 82% of readers found this page helpful

Author information

Name: Maia Crooks Jr

Birthday: 1997-09-21

Address: 93119 Joseph Street, Peggyfurt, NC 11582

Phone: +2983088926881

Job: Principal Design Liaison

Hobby: Web surfing, Skiing, role-playing games, Sketching, Polo, Sewing, Genealogy

Introduction: My name is Maia Crooks Jr, I am a homely, joyous, shiny, successful, hilarious, thoughtful, joyous person who loves writing and wants to share my knowledge and understanding with you.