Course Code: introadvblazor
Duration: 21 hours
Prerequisites:
  • An understanding of basic web development concepts
  • Experience with C# and .NET
  • Razor/Blazor programming experience

Audience

  • Web developers transitioning from traditional front-end frameworks to Blazor
  • .NET developers looking to build modern, interactive web applications
  • Software engineers or technical leads in need of an introduction to advanced Blazor capabilities
Overview:

Blazor is a web framework for building interactive client-side web applications with .NET and C#.

This instructor-led, live training (online or onsite) is aimed at intermediate-level developers who wish to use Blazor to build rich, interactive, and modern web applications using C# instead of JavaScript.

By the end of this training, participants will be able to:

  • Install and configure a Blazor development environment.
  • Build advanced components and reusable layouts.
  • Integrate Blazor with APIs and backend services.
  • Implement state management, routing, and performance optimizations in Blazor applications.

Format of the Course

  • Interactive lecture and discussion.
  • Lots of exercises and practice.
  • Hands-on implementation in a live-lab environment.

 

Course Outline:

Introduction to Blazor

 

Overview of Blazor

 

 

Hosting Models (Blazor Server, Blazor WebAssembly, Blazor Hybrid)

 

Creating an Application

 

 

Project Structure

 

 

Pages

 

Creating a Page

 

Embedding Code in C#

 

Separating Presentation and Logic (Partial Class)

 

Layouts

 

Creating a Custom Layout

 

Overriding a Layout

 

Nested Layouts

 

Layout Inheritance

 

Components

 

Creating a Custom Component

 

Passing Parameters

 

Using Cascading Parameters

 

Rendering Fragments

 

Data Binding

 

One-Way Binding

 

Two-Way Binding

 

EventCallback

 

Data Binding Modifiers:


 

 

Routing and Navigation


 

Defining Routes

 

Passing Route Parameters

 

Route Constraints

 

Passing Query Parameters

 

Navigation Between Pages

 

Forms

 

Creating Forms

 

Data Validation

 

Submitting Data

 

File Upload

 

Dependency Injection

 

Injection in Pages

 

Injection in Partial Classes

 

REST API Communication

 

Creating a Minimal API Service

 

Creating a Named HTTP Client

 

Sending Requests and Fetching Data

 

Application Configuration

 

Reading Configuration from File

 

Environment-Specific Configuration

 

Customizing Application Appearance

 

Using Cascading CSS Styles

 

Isolated CSS Stylesheets

 

JavaScript Integration

 

Calling JavaScript Functions from Blazor

 

Calling Blazor Methods from JavaScript


 

 

State Management


 

Storing Data in Local Storage

 

Storing Data in Session Storage

 

Fluxor (optional)

 

Real-Time Applications

 

Creating a SignalR Hub

 

Sending Messages

 

Receiving Messages in Blazor

 

Application Optimization

 

Component Virtualization

 

Lazy Loading of Modules

 

Security

 

Authentication

 

JWT Tokens

 

Role-Based Authorization

 

Claim-Based Authorization

 

Hiding Pages Based on Authorization

 

Hiding View Fragments Based on Authorization

 

Testing Blazor Components

 

Introduction to bUnit

 

Writing Unit Tests for Components

 

Verifying DOM Output and Event Handling

 

Mocking Services and Parameters