Aurelia in Action teaches you how to build fantastic single page applications with the Aurelia framework. Starting with a complete overview of Aurelia and what makes it a great SPA framework you'll dive straight into building your first Aurelia application. Far more than an Aurelia reference, this book teaches you to design and build production-quality single page web applications. You'll then dig deep into templating and data binding the Aurelia way. You'll also learn about routing, working with HTTP, and extending Aurelia. Finishing everything off, you'll tune, secure, and deploy your finished SPAs, giving you everything you need to create modern web apps for a modern world.
"I was completely new to Aurelia and it helped me to understand what makes Aurelia different. I was planning on using Angular on my next project but now will use Aurelia.."
~ Troi Eisler
"Aha! Aurelia isn't anywhere near as scary as Angular."
~ Joseph Tingsanchali
Part 1: Introduction to Aurelia
1. Introducing Aurelia
1.1. What is Aurelia
1.2. Why do I care?
1.2.1. How complicated are the applications we are trying to build?
1.2.2. How important are web standards compliance to the team?
1.2.3. What past development experience does the team have?
1.2.4. How is the team organized?
1.2.5. What kind of commercial and community support do you need?
1.3. What kind of projects make Aurelia shine?
1.3.2. Client-side-rendered SPA
1.3.3. The hybrid approach: server side with SPA islands
1.3.4. Server-side-rendered SPA
1.3.5. So where does Aurelia sit?
1.3.6. What makes Aurelia different?
1.4. Who is this book for?
1.5. A tour of Aurelia
1.5.2. Handling DOM Events
1.5.4. Inside the ViewModel, and what's this about components?
1.5.5. The Aurelia component lifecycle
1.5.6. Loading data from an API
1.5.7. Dependency injection with Aurelia
1.5.8. Data-binding and view render
2. Building your first Aurelia application
2.1. Introducing my-books
2.2. Building Aurelia
2.2.1. Option 1 - Download the quick start
2.2.2. Option 2 - Skeleton application
2.2.3. Option 3 - Aurelia CLI
2.2.4. Creating the my-books project
2.3. One-way and two-way data-binding and event delegation
2.3.1. Adding the functionality inline
2.4. Creating components using Aurelia custom elements
2.5. Building services and retrieving data from a REST API
2.6. Maintaining Page State with the Aurelia Router
2.6.1. Configuring the Router
2.7. Moving Forward
Part 2: Exploring Aurelia
3. View resources, custom elements, and custom attributes
3.1. Understanding Aurelia’s templating primitives
3.1.1. Aurelia’s templating primitives
3.2. CSS resources
3.2.1. Setting up the project dependencies
3.2.2. Adding the CSS resources
3.2.3. Styling the my-books views
3.3. Custom elements
3.3.1. Custom element explained
3.3.2. My-books custom elements
3.3.3. HTML-only custom elements
3.4. Custom attributes
3.4.1. Creating a tooltip custom attribute
3.4.2. Single-value binding
3.4.3. Options binding
3.5. my-books project status
4. Aurelia templating and data binding
4.1. Templating conditionals
4.2.1. Aurelia repeater contextual properties
4.3. Data binding with Aurelia
4.3.1. Understanding how data-binding works
4.4. Binding commands
4.4.1. One-way bindings
4.4.2. String interpolation binding
4.4.3. Two-way bindings
4.4.4. One-time binding command
4.5. Handling DOM Events
4.6. my-books project status
5. Value converters and binding behaviors
5.1. Creating a value converter
5.2. Applying value converters to lists
5.2.1. Value converter composition
5.3. Binding behaviors
5.3.1. Throttle and debounce binding behaviors
5.3.2. UpdateTrigger binding behavior
5.3.3. Signal binding behavior
5.4. my-books project status
6. Inter-component communication
7. Working with forms
8. Working with HTTP
10. Aurelia view composition
11. Animating Aurelia
12. Extending Aurelia
13. Aurelia and web components
Part 3: Aurelia in the Real World
14. Deploying Aurelia applications
16. Putting it all together
Appendix A: Installation & set up
A.1. Installing Node.js
A.2. Installing the Aurelia CLI tool
A.4. Adding Bootstrap and Fontawesome without a CDN
A.5. Installing the Aurelia validation plugin
A.6. Setting up my-books server
A.6.1. Installing MongoDB
A.6.2. Clone the my-books server repository
A.6.3. Start MongoDB server
A.6.4. Start MongoDB server
A.6.5. Install aurelia-http-client package
About the Technology
- Templating and data-binding
- Inter-component communication
- GUI and SPA design techniques
- View composition
- Testing, tuning, and deploying your SPA
About the reader