
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.
Explore how Blazor WebAssembly enables client-side, in-browser execution to build single-page applications with C# without JavaScript, and understand how SPA architecture updates content without full-page reloads.
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.
Learn the two hosting models for Blazor WebAssembly—server-side and client-side—and how both can run on non-Microsoft servers, with deployment and potential self-hosting scenarios using Kestrel.
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.
Explore traditional http request–response communication and server-side rendering, including the razor view engine, and see how blazor server and web assembly improve performance and offline capability.
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 how Blazor WebAssembly runs entirely in the browser, downloading static files and runtime libraries on the first request with no ongoing server connection.
Explore the dot net core framework components, including class libraries and runtime environment, and compare Blazer server-side prerendering with web assembly, highlighting the document object model and render trees.
Conduct a hands-on setup in Visual Studio, compare Blazor WebAssembly and server templates, and preview project structure, hosting, and runtime differences across templates.
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.
Examine the runtime and project structure differences between Blazor WebAssembly and Blazor server. Learn how browser caching reduces initial downloads and streamlines data loading in Visual Studio projects.
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.
Explore how Blazor server runs in Visual Studio with Kestrel or IIS Express, and how the blazor.server.js file establishes the browser–server connection.
Compare Blazor server and Blazor WebAssembly, noting the absence of the app settings JSON in WebAssembly and the need for restful APIs to access databases.
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.