course
Developing Microsoft Blazor Web Applications
Learn how to build a Web Application using Microsoft Blazor in a practical manner
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:
Analyze the pros and cons of Server-Side Rendering (SSR) vs Single Page Applications (SPA) | |
Design and use Razor components that can run both client-side and server-side | |
Understand Blazor forms, input components and Form Validation | |
Manage layouts and styles of a Blazor Web App | |
Understand the core concepts and functionality of Entity Framework (EF), including proper handling of a DbContext in server-side Blazor apps | |
Develop controller-based APIs and minimal APIs in ASP.NET Core | |
Employ HttpClient in Blazor for calling external web APIs | |
Develop unit tests for Blazor components using bUnit | |
Understand authentication in a Blazor Application | |
Handle authorization in Blazor applications | |
Improve Blazor Application performances | |
Understand different state management strategies in Blazor and their applications, including in-memory state containers, browser storage, and server-side storage. | |
Apply JavaScript interop techniques to invoke JavaScript functions and call .NET methods from JavaScript in Blazor applications. |
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 date | Duration | Location | |
---|---|---|---|
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 |
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
Programming with C#
Learn how to develop C# applications for the .NET platform
- C#/.NET
- General
LINQ: .NET Language-Integrated Query
Learn LINQ, lambda expressions, extension methods and comprehension syntax.
- C#/.NET
Multithreading, Parallel Programming and Asynchronous Programming in C# .NET
Learn about Threads, Task Parallel Library and async / await
- C#/.NET
"Trainer who knows his profession!"Marc
-
Hoge waardering
-
Praktijkgerichte trainingen
-
Gecertificeerde trainers
-
Eigen docenten