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
- Course Overview1m
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 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