
Introduction and prerequisites. No C#, HTML or JavaScript programming will be required.
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.
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.
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.
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.
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.