course

NL/EN
This training is available in Dutch and English. More information

Developing Microsoft Blazor Web Applications

Learn how to build a Web Application using Microsoft Blazor in a practical manner

February 24, 2025
- Veenendaal / Remote
5 days
3700 (excl. VAT)

Description

In this course you will learn, while working on a practical assignment in combination with an explanation of the theory, the basics of Building a Web Application with Microsoft Blazor. At the beginning of the training you will receive a simple scenario that will increase in complexity during the course. Guided by the trainer you will learn to build a Web Application in C#, HTML, CSS and JavaScript.

Learning Goals

This training covers the following learning goals:

CheckmarkAnalyze the pros and cons of Server-Side Rendering (SSR) vs Single Page Applications (SPA)
AnalyzeLogo InfoSupport
CheckmarkDesign and use Razor components that can run both client-side and server-side
CreateLogo InfoSupport
CheckmarkUnderstand Blazor forms, input components and Form Validation
UnderstandLogo InfoSupport
CheckmarkManage layouts and styles of a Blazor Web App
AnalyzeLogo InfoSupport
CheckmarkUnderstand the core concepts and functionality of Entity Framework (EF), including proper handling of a DbContext in server-side Blazor apps
UnderstandLogo InfoSupport
CheckmarkDevelop controller-based APIs and minimal APIs in ASP.NET Core
CreateLogo InfoSupport
CheckmarkEmploy HttpClient in Blazor for calling external web APIs
ApplyLogo InfoSupport
CheckmarkDevelop unit tests for Blazor components using bUnit
CreateLogo InfoSupport
CheckmarkUnderstand authentication in a Blazor Application
UnderstandLogo InfoSupport
CheckmarkHandle authorization in Blazor applications
ApplyLogo InfoSupport
CheckmarkImprove Blazor Application performances
CreateLogo InfoSupport
CheckmarkUnderstand different state management strategies in Blazor and their applications, including in-memory state containers, browser storage, and server-side storage.
UnderstandLogo InfoSupport
CheckmarkApply JavaScript interop techniques to invoke JavaScript functions and call .NET methods from JavaScript in Blazor applications.
ApplyLogo InfoSupport
For the above learning goals we use Bloom's Taxonomy

Prior Knowledge

Knowledge of C# (inclusive concepts like Lambda expressions, LINQ and anonymous types), Javascript (ECMAScript 2017) and basic HTML and CSS knowledge

Subjects

Blazor Overview

  • Components
  • Render Modes
  • JavaScript interop

Render modes

  • Static Server Side Rendering
  • Interactive Server
  • Interactive WebAssembly
  • Interactive Auto
  • Render mode selection

Components

  • Component classes
  • Component parameters
  • Route parameters
  • Child content

Data binding

  • One way binding
  • Two way binding
  • Binding with component parameters
  • Bind across more than two components

Event handling

  • Event arguments
  • Lambda expressions
  • EventCallback

Lifecycle

  • Lifecycle events
  • Component initialization
  • State changes

Templated components

  • RenderFragment
  • CascadingTypeParameter

Layouts

  • Layout components
  • Apply a layout
  • Nested layouts

Forms and validation

  • Binding a form
  • Handle form submission
  • Built-in form components
  • Basic validation
  • Data Annotations Validator component and custom validation
  • Validator components

Dependency injection

  • Default services
  • Add services to a Blazor app
  • Service lifetime
  • Request a service in a component
  • Use DI in services

Routing

  • Route templates
  • Route to components from multiple assemblies
  • Route parameters
  • Route constraints
  • URI and navigation state helpers
  • Query strings
  • NavLink and NavMenu components

JavaScript

  • Blazor JavaScript interoperabiliy (JS Interop)
  • Call JavaScript from .NET
  • Call .NET from JavaScript

Component libraries

  • Create an RCL
  • Consume a Razor component from an RCL
  • Create an RCL with static assets in the wwwroot folder
  • Create an RCL with JavaScript files collocated with components
  • Supply components and static assets to multiple hosted Blazor apps
  • JavaScript isolation in JavaScript modules

State management

  • Persist state across browser sessions
  • Where to persist state
  • Server-side storage
  • URL
  • Browser storage
  • In-memory state container service

Handle errors

  • Detailed errors during development
  • Manage unhandled exceptions in developer code

Web API

  • Implement Web API
  • Minimal API
  • Call a web API from ASP.NET Core Blazor
    • Add the HttpClient service
    • HttpClient and JSON helpers
    • Named HttpClient with IHttpClientFactory
    • Typed HttpClient
    • HttpClient and HttpRequestMessage with Fetch API request options

Security And Identity

  • Authentication
  • AuthenticationStateProvider service
  • Expose the authentication state as a cascading parameter
  • Authorization
  • AuthorizeView component
  • Authorize attribute
  • Policies, Requirements, Handlers, Claims

Host And Deploy

  • Publish the app
  • Ahead-of-time (AOT) compilation
  • Standalone deployment

Schedule

Start dateDurationLocation
February 24, 2025February 25, 2025February 26, 2025February 27, 2025February 28, 2025
5 days
Veenendaal / Remote
This is a hybrid training and can be followed remotely. More information
Veenendaal / Remote
This is a hybrid training and can be followed remotely. More information
Veenendaal / Remote
This is a hybrid training and can be followed remotely. More information
Veenendaal / Remote
This is a hybrid training and can be followed remotely. More information
Veenendaal / Remote
This is a hybrid training and can be followed remotely. More information
Sign up
March 24, 2025March 25, 2025March 26, 2025March 27, 2025March 28, 2025
5 days
Utrecht / Remote
This is a hybrid training and can be followed remotely. More information
Utrecht / Remote
This is a hybrid training and can be followed remotely. More information
Utrecht / Remote
This is a hybrid training and can be followed remotely. More information
Utrecht / Remote
This is a hybrid training and can be followed remotely. More information
Utrecht / Remote
This is a hybrid training and can be followed remotely. More information
Sign up
Keep me posted on new sessions

All courses can also be conducted within your organization as customized or incompany training.

Our training advisors are happy to help you provide personal advice or find Incompany training within your organization.

Trainers

Prior knowledge courses

"Trainer who knows his profession!"
Marc
  • icon

    Hoge waardering

  • icon

    Praktijkgerichte trainingen

  • icon

    Gecertificeerde trainers

  • icon

    Eigen docenten