Blazor WebAssembly
Blazor opens doors for .NET developers by offering the ability to create modern single-page applications (SPA) using their favorite language, C#.
Many .NET developers avoid the frontend due to the complexities of JavaScript frameworks or not knowing where to start. Blazor WebAssembly addresses these issues, allowing developers to focus on creating beautiful and functional applications using advanced technologies like WebAssembly, which competes with JavaScript in terms of performance and flexibility.
Blazor excites developers: finally, a tool has been created that bridges the gap between client-side and server-side development.
This course was initially created using .NET 5 but has been adapted and fully tested for versions .NET 8 and .NET 9. Additionally, updates, new videos, and notes have been included, as well as re-recorded lessons to support current templates and capabilities.
Read more about the course
What you will learn:
- Basics of Blazor and Blazor WebAssembly.
- Using standard Blazor components.
- Configuring routing in a web application.
- Interacting with a server-side Web API application.
- Data manipulation in Blazor (GET, POST, PUT, DELETE).
- File uploading.
- Integration of JavaScript code in Blazor applications.
- Simple deployment of the application to production.
- Securing Blazor WebAssembly and Web API applications.
- Advanced security concepts for enhancing the application.
This course is suitable for anyone who wants to use Blazor for developing modern web applications and stay at the forefront of .NET development. Start creating powerful applications with minimal effort and maximum enjoyment!
Watch Online Blazor WebAssembly
# | Title | Duration |
---|---|---|
1 | What Are We Going to Learn in This Module? | 00:55 |
2 | What is Blazor and When Should we Use It? | 02:38 |
3 | Different Types of Blazor Applications | 03:56 |
4 | Blazor Server vs Blazor WebAssembly | 05:49 |
5 | Blazor WebAssembly Template Files | 04:55 |
6 | Adding PageTitle and Accessibility Improvements | 02:25 |
7 | What Have We Learned So Far? | 00:53 |
8 | What Are We Going to Learn in This Module? | 01:10 |
9 | What are Blazor Components? | 04:54 |
10 | Parameters in Components | 02:05 |
11 | Required Parameters | 01:25 |
12 | Arbitrary Parameters | 02:37 |
13 | Cascading Parameters | 03:03 |
14 | Debugging the Application | 03:27 |
15 | What Have We Learned So Far? | 00:50 |
16 | What Are We Going to Learn in This Module? | 00:57 |
17 | What are Blazor Partial Classes? | 02:49 |
18 | Using RenderFragment Parameters | 02:52 |
19 | Blazor Lifecycle Methods and Lifecycle Example | 06:29 |
20 | Logging in Blazor WebAssembly | 06:16 |
21 | What Have We Learned So Far? | 00:57 |
22 | What Are We Going to Learn in This Module? | 01:22 |
23 | @page Directive | 01:57 |
24 | NotFound Component | 03:14 |
25 | NavigationManager Class | 02:15 |
26 | Route Parameters | 02:17 |
27 | NavLink Component | 02:46 |
28 | What Have We Learned So Far? | 01:07 |
29 | What Are We Going to Learn in This Module? | 01:20 |
30 | Dependency Injection | 06:28 |
31 | Web API Project Overview | 05:52 |
32 | UPDATE: API Changes | 01:54 |
33 | Consuming the API | 05:25 |
34 | Creating the Products List Component | 05:32 |
35 | Creating the Product Details Component | 08:33 |
36 | What Have We Learned So Far? | 00:51 |
37 | What Are We Going to Learn in This Module? | 00:46 |
38 | Setting up the Pagination in the API | 08:00 |
39 | Reading the Paged Response in the Client Application | 06:05 |
40 | Creating the Pagination Component | 07:30 |
41 | Creating a Page Size Dropdown Component | 04:44 |
42 | UPDATE: Search Nullable Property | 01:24 |
43 | Searching Implementation in the API | 03:27 |
44 | Creating the Search Component | 08:29 |
45 | Sorting Implementation in the API | 05:43 |
46 | Creating the Sort Component | 04:26 |
47 | What Have We Learned So Far? | 00:47 |
48 | What Are We Going to Learn in This Module? | 00:47 |
49 | Improving the UX While Handling Errors | 06:47 |
50 | Creating a Centralized Error Handler | 08:47 |
51 | Error Boundaries | 04:28 |
52 | What Have We Learned So Far? | 00:32 |
53 | What Are We Going to Learn in This Module? | 00:43 |
54 | Handling POST Requests | 04:09 |
55 | Creating Forms | 07:23 |
56 | Bootstrap Class Names | 01:45 |
57 | Forms Validation | 07:06 |
58 | Using Blazored Toast to Improve the UX | 07:49 |
59 | What Have We Learned So Far? | 00:42 |
60 | What Are We Going to Learn in This Module? | 00:31 |
61 | Handling File Upload on the Server Side | 05:07 |
62 | Implementing File Upload on the Client Side | 10:01 |
63 | What Have We Learned So Far? | 00:33 |
64 | What Are We Going to Learn in This Module? | 00:41 |
65 | Handling PUT Requests on the Server-Side | 04:23 |
66 | Updating Data on the Client-Side | 06:03 |
67 | Implementing the Delete Functionality | 12:42 |
68 | UPDATE: Bootstrap Modal Close Button Implementation | 01:12 |
69 | What Have We Learned So Far? | 00:34 |
70 | What Are We Going to Learn in This Module? | 01:08 |
71 | Environments Introduction | 07:35 |
72 | Configuring the Application for Production | 09:19 |
73 | Options Pattern | 04:09 |
74 | What Have We Learned So Far? | 00:51 |
75 | What Are We Going to Learn in This Module? | 00:52 |
76 | Publishing Blazor WASM App Locally | 07:33 |
77 | Publishing Web API With Static Files in the Dev Environment | 06:03 |
78 | .NET 6 UPDATE: Program Class Implementation | 01:31 |
79 | Deploying Blazor WASM to Azure Static Web Apps | 06:29 |
80 | Deploying the Application to Azure App Services | 09:37 |
81 | What Have We Learned So Far? | 01:03 |
82 | What Are We Going to Learn in This Module? | 01:19 |
83 | Calling JavaScript Functions with C# | 16:05 |
84 | Using JSInterop to Pass HTML Elements | 08:18 |
85 | Handling JavaScript Errors in C# Code | 02:16 |
86 | Calling C# Methods from JavaScript | 13:57 |
87 | Wrapping JavaScript Libraries with C# (Toastr) | 15:38 |
88 | What Have We Learned So Far? | 00:52 |
89 | What Are We Going to Learn in this Module? | 00:51 |
90 | Authentication and Authorization Introduction | 14:00 |
91 | User Registration | 18:37 |
92 | Login and Logout | 23:59 |
93 | Role-Based Authorization | 09:12 |
94 | Refreshing Tokens | 17:14 |
95 | What Have We Learned So Far? | 00:53 |
96 | What Are We Going to Learn in this Module? | 01:01 |
97 | Forgot/Reset Password | 22:05 |
98 | Email Verification | 10:00 |
99 | User Lockout | 06:29 |
100 | Two-Factor Authentication | 11:11 |
101 | Working With Query Strings | 03:59 |
102 | What Have We Learned So Far? | 00:42 |