Building Data-Centric Single Page Apps with Breeze
This course covers how to use the Breeze.js JavaScript library and server support to build rich, data-centric HTML Single Page Applications or highly interactive pages within a larger web application. You learn the end-to-end capabilities of the Breeze library and how to use them.
What you'll learn
If you are building an HTML Single Page Application, hybrid HTML installed mobile app, or just a web page that presents a lot of data that the user will be editing, you need to be able to retrieve and manipulate data on the client side in JavaScript. You'll need to query web services to retrieve the data for presentation, let the user edit the data, and push those changes to the server. And if you are going for a rich, stateful, interactive user experience, you won't want to be doing full page post backs to get that done. To work with the data on the client side, you'll need change tracking and validation of edits, the ability to filter, sort, and page data from the client side. You might need to work with that data offline as well. Breeze.js is a JavaScript library that does all of that for you. Breeze lets you quickly develop a good layered architecture on the client side in JavaScript, acting as a data layer, repository, or data gateway for your client side code. This course will walk you through all of the core features of Breeze. You'll learn how to execute queries from your client side JavaScript to retrieve data for presentation, work with the cached data on the client side, enable rich editing scenarios, handle changes to the data client side, validate that data, and send changes back to the server side. You'll see how to set up the services using ASP.NET Web APIs and how to work with OData services.
Table of contents
- Introduction 1m
- Single Page Application Architecture 6m
- Single Page Applications Overview 5m
- Breeze Capabilities 4m
- Breeze and Other JavaScript Libraries 3m
- Breeze Tour Steps 3m
- Demo: Breeze Server Coding Experience 5m
- Demo: Coding A Client Breeze Query 7m
- Demo: Saving Changes on The Client 3m
- Summary 1m
- Introduction 2m
- Service Options 4m
- Query Call Patterns 3m
- Demo: Query Call Patterns Wire Level 3m
- Metadata 4m
- SaveChanges Call Pattern 2m
- Demo: SaveChanges Call Pattern Wire Level 3m
- ASP.NET Web API Overview 4m
- Breeze Server Infrastructure Summary 1m
- Breeze Routing 3m
- Breeze Controllers 3m
- Demo: Implementing a Breeze Controller 7m
- Extending EFContextProvider 3m
- Demo: Extending EFContextProvider 4m
- Working with OData Services 3m
- Demo: Working with OData Services 5m
- Summary 2m
- Introduction 1m
- Creating an EntityManager 2m
- Creating an EntityQuery 2m
- Demo: Basic Querying 8m
- Filtering 1m
- Demo: Simple Filtering 4m
- Demo: Complex Filter Criteria 3m
- Ordering 1m
- Demo: Simple Ordering 1m
- Demo: Multi-Sorting 3m
- Paging 1m
- Demo: Paging 4m
- Inline Count 1m
- Demo: Inline Count 2m
- Projection Queries 1m
- Demo: Simple Projection Queries 2m
- Demo: Projection Queries Across Navigation Properties 4m
- Eager Loading with Expansion Queries 2m
- Demo: Simple Expand Queries 3m
- Demo: Drill Down Expand Queries 3m
- Summary 1m
- Introduction 2m
- Pre-Fetching Metadata 2m
- Querying By Key 1m
- Demo: Fetching Metadata and Querying by Key 5m
- Querying A Bag of Entities 1m
- Demo: Querying A Bag of Entities 5m
- Passing Parameters 1m
- Demo: Passing Parameters 4m
- Server Queries 2m
- Demo: Server Queries 5m
- Re-Querying 1m
- Demo: Re-Querying 5m
- Local Queries 2m
- Demo: Local Queries 4m
- Summary 1m
- Introduction 2m
- EntityAspect 2m
- Modifying Entities 1m
- Saving Changes to The Server 2m
- Demo Architecture 2m
- Demo: Demo App Architecture Tour 4m
- Demo: Editing and Saving Changes 7m
- Creating New Entities 2m
- Demo: Creating Simple Entities 5m
- Demo: Creating Complex Entities 11m
- Rejecting Changes 1m
- Demo: Rejecting Changes 5m
- Accepting Changes 1m
- Demo: Accepting Changes 2m
- Deleting Entities 1m
- Demo: Deleting Entities 2m
- Named Saves 2m
- Demo: Named Saves 3m
- Summary 1m
- Introduction 1m
- Entity State Management 5m
- Demo: Checking and Manipulating Entity State 5m
- Extending Entities 4m
- Demo: Extending Entities 10m
- Entity Property Change Handling 2m
- Demo: Entity Property Change Handling 5m
- Central Entity Change Handling 2m
- Demo: Central Entity Change Handling 5m
- Exporting and Importing Cached Entities 2m
- Demo: Exporting and Importing Cached Entities for Offline Storage 5m
- Summary 1m
- Introduction 1m
- Breeze Validation Overview 3m
- Working with Validation Rules in Breeze 2m
- Server Validation Process 2m
- Displaying Validation Errors 3m
- Automatic Valdiation 3m
- Demo: Automatic Validation 7m
- Data Annotations 4m
- Demo: Data Annotations 4m
- Using Built-in Validators 3m
- Demo: Using Built-in Validators 3m
- Demo: Using Regular Expression Validators 3m
- Summary 1m
- Introduction 1m
- Manual Validation 1m
- Demo: Manual Validation 3m
- Custom Client Validation Rules 4m
- Demo: Custom Client Validation Rules 2m
- Demo: Custom Client Validation Rule Factories 5m
- Demo: Registering Rules 1m
- Validation Events 2m
- Demo: Working with Validation Events 5m
- Custom Server Validation Rules 3m
- Demo: Custom Server Validation Rules 5m
- Summary 1m
- Thank You and Goodbye 1m