
Introduction and prerequisites. No C#, HTML or JavaScript programming will be required.
Discover what Blazor is and why it powers modern web apps, explore implementation options for Blazor web applications, and learn about web assembly, single page applications, and hosting models.
Explore how Blazor enables building web apps with HTML, CSS, and C# without needing JavaScript. Discover Razor syntax, Razor pages, and Razor components, plus the .NET Core open-source ecosystem.
Explore the two Blazor deployment models—client-side web assembly and server-side Blazor—comparing their runtimes, data flow, and trade-offs, then start with the server-side approach for clarity.
Explore how Blazor server apps run C# on the server to deliver a rich single-page experience, with real-time updates via SignalR and client-side content served as static files.
Blazor progressive web applications (PWAs) turn client-side single-page apps into installable, native-like experiences running in their own window. They can run locally, but remote data requires an internet connection.
Explore Blazor and WebAssembly for building single-page web apps without JavaScript, using Razor syntax, and deploying on client, server, or both, including progressive web apps and ASP.NET Core hosting.
Explore the ASP.NET Core framework and server-side Blazor foundations, explain how server-side rendering yields faster pages via render trees and the document object model, and recap Blazor WebAssembly loading.
Explore how ASP.NET Core powers cross-platform web apps with .NET class libraries, the .NET runtime, and the SDK in Visual Studio, including Entity Framework Core and Identity Server.
Reuse prebuilt dotnet core libraries and target the framework version with the target framework moniker in the project file; Visual Studio IntelliSense adapts to library versions to suggest methods.
Explore how blazor renders the UI with web assembly and blazor server, and how the server sends small binary UI diffs to reduce data transfer.
Learn how Blazor server uses a single Blazor server JS file and SignalR to send only UI changes over web sockets for near real-time updates, with DOM concepts.
Discover how the DOM represents an HTML document as a tree of in-memory objects, enabling JavaScript to manipulate elements, tags, and attributes to create dynamic web pages.
Blazor server-side rendering uses a render tree to efficiently update the DOM, reconciling changes into a single update and sending minimal diffs over the network.
Learn to set up a standalone Blazor WebAssembly app in Visual Studio using the Blazor template, target .NET 7, and run with Kestrel to explore routable Razor components.
Set up a Blazor server app in Visual Studio using the server template, then compare it with Blazor WebAssembly, noting app settings json, data folder, and load times.
Demonstrates Blazor wasm vs Blazor server in a browser, highlighting performance under slow networks. Showcases how initial loads and small binary messages influence responsiveness and network traffic.
Launch a Blazor wasm app in Visual Studio and inspect network activity. Watch how the 9.5 MB download loads runtime and libraries, with cache storage governing subsequent loads.
Learn how to build and install progressive web apps with Blazor, creating standalone and ASP.NET Core hosted PWAs, and explore manifest and service worker files.
Create a stand-alone Blazor PWA in Visual Studio by selecting the Blazor WebAssembly template and seven as the target framework, then explore manifest.json and two service workers for offline support.
Set up an ASP.NET Core hosted Blazor PWA in Visual Studio, creating client, server, and shared projects. The hosted template uses an API controller to fetch weather data.
Explore offline support for Blazor WebAssembly apps and testing in the published state. Maintain backward compatibility and manage service worker caching to control bandwidth across updates.
In this course, you will learn the important underlying mechanics of all the different types of Blazor web applications. You will not have to write a single line of code to get through this course.
I am specifically steering away from jumping into the code, because without understanding the subtle differences between the different Blazor applications, you will end up 'coding in the dark', and you will get into issues for which there is not much support for currently. For example, if you don't understand the detailed mechanics of Blazor applications, you will not understand why you are getting CORS errors when making HTTP calls from your Blazor WASM application, or why you are getting database concurrency issues with Blazor Server and EF Core. And so on...
The course is divided into 5 parts. The first two parts of this course will focus on the theory of Blazor. In Parts 3 to 5, we will see those theoretical concepts from Parts 1 and 2 in action.
In Part 1, I will discuss what Blazor is, what the different types of Blazor applications are, and how the different hosting options work. I will also go into some detail about Single Page Applications and WebAssembly technology.
In Part 2, I will cover the .Net7 Framework, the Document Object Model, and the Render Tree concepts.
In Part 3, we will start getting more hands-on. We will create and run both Blazor Server and Blazor WASM applications from within Visual Studio. We will also start comparing the two application types in Part 3.
In Part 4, we will go into more detail with both Server and WASM applications. There will be a big focus on the runtime differences, which we'll explore using our browser developer tools.
Then finally, in Part 5, we'll create, run and install Blazor Progressive Web Applications (PWAs) onto our local machines. We will create 2 types of PWAs - a stand-alone PWA and an ASP(.)NetCore Hosted Application. We'll conclude Part 5 with some closing remarks about why PWAs are not always the best option for your use case, and what complications come with the development and testing of PWAs.